臨時表(
temporary table
)通常應用在需要定義臨時集合的場合。但是,在大部分需要臨時集合的時候,我們根本就不需要定義臨時表。當我們在
一條
sql語句中只使用一次臨時集合時,我們可以使用
巢狀表表示式
來定義臨時集合;當我們在
一條
sql語句中需要多次使用同一臨時集合時,我們可以使用
公共表表示式
;只有當我們在乙個工作單元中的
多條
sql語句中使用同一臨時集合時,我們才需要定義臨時表。
使用須知:
1. db2
的臨時表需要用命令declaretemporary table
來建立, 並且需要建立在使用者臨時表空間上;
2. db2
在資料庫建立時, 預設並不建立使用者臨時表空間, 如果需要使用臨時表, 則需要使用者在建立臨時表之前建立使用者臨時表空間;
3. 臨時表的模式為session
,session即基於會話的,且在會話之間是隔離的。當會話結束時,臨時表的資料被刪除,臨時表被隱式卸下。對臨時表的定義不會在syscat.tables中出現 .;
4. 預設情況下, 在commit
命令執行時, db2臨時表中的所有記錄將被刪除; 這可以通過建立臨時表時指定不同的引數來控制;
5. 執行rollback
命令時, 使用者臨時表將被刪除;
定義舉例:
1)、定義預設的臨時表,該錶在commit命令執行後,定義的臨時表將被刪除
declare global temporary table session.emp
( id varchar(20),
name varchar(50)
) on commit delete rows ;
2)、定義臨時表,不計日誌,且commit命令後不刪除臨時表
declare global temporary table session.emp
( id varchar(20),
name varchar(50) )
on commit preserve rows with replace not logged;
mysql臨鍵鎖 innodb臨鍵鎖鎖定範圍
臨鍵鎖解決當前讀的幻讀問題 通過鎖定範圍,使另外乙個事務不能插入 mvcc解決不加鎖讀的幻讀問題。create table test id int,grade char 1 name varchar 20 primary key id key grade idx grade engine innod...
java專案臨結局
昨天我們實現了功能模組的整合,今天是優化階段,周一匯報,在此之前,團隊拍照留念,進度且聽今晚分析。今天是十月三號,寫這篇文章的時候我們僅僅是實現了 功能模組的整合,而從當天的記錄來看,我的內心是激動的,孰不知在這小小的喜悅之後是乙個個的考驗,也許那天晚上我寫完這個 整合之後,還在弄介面優化,也許這一...
mysql 臨鍵鎖 記錄鎖 間隙鎖 臨鍵鎖
這三種並不是鎖,而是鎖的演算法。它們的共同特點是互斥的。間隙鎖和臨鍵鎖只有在rr級別中才能生效。set global transaction isolation level repeatable read select global.tx isolation 間隙鎖的目的是為了防止多個事務把記錄插入...