【TEMPORARY TABLE】Oracle兩種臨時表型別功能特點比較
Oracle的臨時表可以是基於事務的,也可以是基於會話的。本文就Oracle的這兩種型別的臨時表做一個簡單介紹和比較。
1.基於事務的臨時表
1)語法
CREATE GLOBAL TEMPORARY TABLE ON COMMIT DELETE ROWS;
2)特點
當事務提交後,臨時表中的資料會被自動刪除。
3)建立基於事務的臨時表並測試臨時表特點
(1)建立基於事務的臨時表
sec@ora10g> create global temporary table t_temp_transaction (x int) on commit delete rows;
Table created.
(2)初始化並檢視臨時表資料
sec@ora10g> insert into t_temp_transaction values (1);
1 row created.
sec@ora10g> select * from t_temp_transaction;
X
----------
1
(3)提交
sec@ora10g> commit;
Commit complete.
(4)再次檢視臨時表資料
sec@ora10g> select * from t_temp_transaction;
no rows selected
可見臨時表中的資料隨commit語句提交而被刪除。
2.基於會話的臨時表
1)語法
CREATE GLOBAL TEMPORARY TABLE ON COMMIT PRESERVE ROWS;
2)特點
當事務提交後,記錄會一直儲存在表中,直到會話斷開或使用DELETE和TRUNCATE語句刪除臨時表中的記錄。
3)建立基於會話的臨時表並測試臨時表特點
(1)建立基於會話的臨時表
sec@ora10g> create global temporary table t_temp_session (x int) on commit preserve rows;
Table created.
(2)初始化並檢視臨時表資料
sec@ora10g> insert into t_temp_session values (2);
1 row created.
sec@ora10g> select * from t_temp_session;
X
----------
2
(3)提交
sec@ora10g> commit;
Commit complete.
(4)再次檢視臨時表資料
sec@ora10g> select * from t_temp_session;
X
----------
2
在基於會話的臨時表中的資料並沒有隨commit提交而刪除。
(5)在新會話中檢視臨時表資料
sec@ora10g> conn sec/sec
Connected.
sec@ora10g> select * from t_temp_session;
no rows selected
在重新開啟的會話中基於會話的臨時表中的資料已經被清空。
3.小結
無論是基於事務的,也可以是基於會話的Oracle臨時表,都有各自的應用場景,重點考察的是臨時表在應用中功能和需要保留資料的週期。
Good luck.
secooler
11.06.06
-- The End --
1.基於事務的臨時表
1)語法
CREATE GLOBAL TEMPORARY TABLE
2)特點
當事務提交後,臨時表中的資料會被自動刪除。
3)建立基於事務的臨時表並測試臨時表特點
(1)建立基於事務的臨時表
sec@ora10g> create global temporary table t_temp_transaction (x int) on commit delete rows;
Table created.
(2)初始化並檢視臨時表資料
sec@ora10g> insert into t_temp_transaction values (1);
1 row created.
sec@ora10g> select * from t_temp_transaction;
X
----------
1
(3)提交
sec@ora10g> commit;
Commit complete.
(4)再次檢視臨時表資料
sec@ora10g> select * from t_temp_transaction;
no rows selected
可見臨時表中的資料隨commit語句提交而被刪除。
2.基於會話的臨時表
1)語法
CREATE GLOBAL TEMPORARY TABLE
2)特點
當事務提交後,記錄會一直儲存在表中,直到會話斷開或使用DELETE和TRUNCATE語句刪除臨時表中的記錄。
3)建立基於會話的臨時表並測試臨時表特點
(1)建立基於會話的臨時表
sec@ora10g> create global temporary table t_temp_session (x int) on commit preserve rows;
Table created.
(2)初始化並檢視臨時表資料
sec@ora10g> insert into t_temp_session values (2);
1 row created.
sec@ora10g> select * from t_temp_session;
X
----------
2
(3)提交
sec@ora10g> commit;
Commit complete.
(4)再次檢視臨時表資料
sec@ora10g> select * from t_temp_session;
X
----------
2
在基於會話的臨時表中的資料並沒有隨commit提交而刪除。
(5)在新會話中檢視臨時表資料
sec@ora10g> conn sec/sec
Connected.
sec@ora10g> select * from t_temp_session;
no rows selected
在重新開啟的會話中基於會話的臨時表中的資料已經被清空。
3.小結
無論是基於事務的,也可以是基於會話的Oracle臨時表,都有各自的應用場景,重點考察的是臨時表在應用中功能和需要保留資料的週期。
Good luck.
secooler
11.06.06
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-700899/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle臨時表GLOBAL TEMPORARY TABLEOracle
- oracle的兩種global temporary table!Oracle
- 【TEMPORARY TABLE】Oracle臨時表使用注意事項Oracle
- 全域性臨時表 GLOBAL TEMPORARY TABLE
- Oracle Temporary Tables(Oracle 臨時表)Oracle
- oracle temporary tableOracle
- 比較兩個table是否相同
- create table進階學習(二)_全域性臨時表_global temporary table
- oracle的臨時表空間temporary tablespaceOracle
- oracle global temporary table全域性臨時表_測試及v$tempseg_usageOracle
- orace global temporary table全域性臨時表測試小記
- [Oracle] Shrink space & Table move比較Oracle
- 臨時表(GLOBAL TEMPORARY TABLE)及統計資訊收集,動態取樣
- JavaScript比較兩個時間JavaScript
- Oracle三種集合資料型別的比較Oracle資料型別
- MySQL 中的兩種臨時表MySql
- 各種時間型別的轉換及比較型別
- oracle 12c 新特性 Temporary UNDO 臨時回滾段Oracle
- JavaScript比較兩個時間大小JavaScript
- COPA 獲利分析的兩種方式比較
- Oracle date 型別比較和String比較Oracle型別
- oracle 的臨時表解析及與其SQLSERVER的比較(轉載)OracleSQLServer
- Oracle中spool命令實現的兩種方法比較-入門Oracle
- Oracle10新特性:臨時表空間組(temporary tablespace group)Oracle
- ORACLE Temporary Tables臨時表更適合做插入和查詢操作Oracle
- oracle dataguard的兩個新特點。Oracle
- python清空字典的兩種方法比較Python
- 關於oracle with table as 建立臨時表的用法示例以及使用with as 的優點Oracle
- ORACLE批次更新四種方法比較Oracle
- Oracle10g新特性:臨時表空間組(temporary tablespace group)Oracle
- 臨時表空間temporary tablespace相關操作
- C++ - 比較兩個浮點數大小C++
- 比較兩個TABLE的資料是否完全一致
- 比較兩個表的資料差別
- javascript比較兩個時間日期的大小JavaScript
- ORACLE的Copy命令和create table,insert into的比較Oracle
- oracle資料庫兩表資料比較Oracle資料庫
- 關於Oracle中ASH功能的特別說明,oracle10個/11g的新特點Oracle