oracle臨時表的使用(未完)
阿新 • • 發佈:2019-02-18
臨時表
臨時表就是用來暫時儲存臨時資料(亦或叫中間資料)的一個數據庫物件,它和普通表有些類似,然而又有很大區別。它只能儲存在臨時表空間,而非使用者的表空間。ORACLE臨時表是會話或事務級別的,只對當前會話或事務可見。每個會話只能檢視和修改自己的資料。
建立臨時表
- ON COMMIT PRESERVE ROWS
事務級的臨時表(預設),這種型別的臨時表與事務有關,當進行事務提交或者事務回滾的時候,臨時表的資料將自行截斷,即當COMMIT或ROLLBACK時,資料就會被TRUNCATE掉,其它的特性和會話級的臨時表一致。
- ON COMMIT PRESERVE ROWS
CREATE GLOBAL TEMPORARY TABLE TMP_TEST
(
ID NUMBER ,
NAME VARCHAR2(32)
) ON COMMIT DELETE ROWS;
或
CREATE GLOBAL TEMPORARY TABLE TMP_TEST ON COMMIT DELETE AS SELECT * FROM TEST;
- ON COMMIT DELETE ROWS
會話級的臨時表,表的資料和你當前會話有關係,當前SESSION不退出的情況下,臨時表中的資料就還存在,臨時表的資料只有當你退出當前SESSION的時候才被截斷(TRUNCATE TABLE)
CREATE GLOBAL TEMPORARY TABLE TMP_TEST
(
ID NUMBER ,
NAME VARCHAR2(32)
) ON COMMIT PRESERVE ROWS;
或
CREATE GLOBAL TEMPORARY TABLE TMP_TEST ON COMMIT PRESERVE ROWS
AS
SELECT * FROM TEST;
java操作臨時表
jdbc向臨時表中插入資料一般過程是先