Oracle Temporary Tables(Oracle 臨時表)
Oracle Temporary Tables(Oracle 臨時表)
1. 建立臨時表語法
A.ON COMMIT DELETE ROWS 定義了建立事務級臨時表的方法
CREATE GLOBAL TEMPORARY TABLE TABLE_NAME
-----(COUMNS …)
-----AS SELECT … FROM TABLE…
ON COMMIT DELETE ROWS;
當前session發出commit/rollback命令,則該事務週期發生的所有資料自動被Oracle刪除(Oracle truncate table)。但不影響任何其他session的資料。
B.ON COMMIT PRESERVE ROWS 定義了建立會話級臨時表的方法
CREATE GLOBAL TEMPORARY TABLE TABLE_NAME
-----(COUMNS …)
-----AS SELECT … FROM TABLE…
ON COMMIT PRESERVE ROWS;
當前session結束(使用者正常退出 / 使用者不正常退出 / Oracle例項崩潰),Oracle對這個會話的中發生的資料進行刪除(Oracle truncate table)。但不影響任何其他session的資料。
2. 特點說明
A.臨時表資料自動清空後,但是臨時表的結構以及後設資料還儲存在使用者的資料字典中。表的定義對所有的會話可見
B.臨時表不需要DML鎖
C.可以索引臨時表和在臨時表基礎上建立檢視
D.在臨時表上的索引也是臨時的,也是隻對當前會話或者事務有效
E.臨時表可以擁有觸發器
F.可以用export和import工具匯入匯出臨時表的定義,但是不能匯出資料
3. 使用技巧
A.當某一個SQL語句關聯的表在2張及以上,並且和一些小表關聯。可以採用將大表進行分拆並且得到比較小的結果集合存放在臨時表中
B.程式執行過程中可能需要存放一些臨時的資料,可以將這類資料放在臨時表裡非常方便
C.儲存過程中用到臨時表:
1> 在建立臨時表前,應先加上對錶名的判斷
Select count(*) into v_count from user_tables where table_name = ‘XXX’;
If v_count=0 then
Create global temporary table …
在儲存過程結束處,應該記得刪除表
execute immediate 'drop table t_temp';
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-620056/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE Temporary Tables臨時表更適合做插入和查詢操作Oracle
- Oracle臨時表GLOBAL TEMPORARY TABLEOracle
- oracle的臨時表空間temporary tablespaceOracle
- 【TEMPORARY TABLE】Oracle臨時表使用注意事項Oracle
- Oracle10新特性:臨時表空間組(temporary tablespace group)Oracle
- oracle臨時表Oracle
- Oracle 臨時表Oracle
- Oracle10g新特性:臨時表空間組(temporary tablespace group)Oracle
- Oracle的臨時表Oracle
- 全域性臨時表 GLOBAL TEMPORARY TABLE
- ORACLE臨時表和SQLSERVER臨時表異同OracleSQLServer
- oracle global temporary table全域性臨時表_測試及v$tempseg_usageOracle
- oracle 臨時表的使用Oracle
- ORACLE臨時表總結Oracle
- Oracle全域性臨時表Oracle
- oracle 臨時表空間Oracle
- oracle臨時表空間Oracle
- oracle臨時表的用法Oracle
- oracle 12c 新特性 Temporary UNDO 臨時回滾段Oracle
- 臨時表空間temporary tablespace相關操作
- Oracle 臨時表空間概念Oracle
- oracle臨時表空間組Oracle
- oracle的臨時表空間Oracle
- Oracle Temp 臨時表空間Oracle
- oracle臨時表的用法(轉)Oracle
- 【TEMPORARY TABLE】Oracle兩種臨時表型別功能特點比較Oracle型別
- Oracle 基礎 ----臨時表和物件表Oracle物件
- Allocation of Temporary Segments for Temporary Tables and Indexes (28)Index
- 記憶體(memory)表和臨時(temporary)表之瞭解記憶體
- Oracle臨時表使用注意事項Oracle
- oracle臨時表空間相關Oracle
- oracle全域性臨時表的特性Oracle
- Oracle TEMP臨時表空間概念Oracle
- Oracle 臨時表空間的概念Oracle
- oracle臨時表實際應用Oracle
- ORACLE臨時表空間總結Oracle
- oracle 重建臨時表空間 tempfileOracle
- 刪掉Oracle臨時表空間Oracle