1. 程式人生 > >什麽是oracle的臨時表??

什麽是oracle的臨時表??

創建 結構 生命 reserve 不能 什麽 但是 arc llb

ORACLE數據庫除了可以保存永久表外,還可以建立臨時表。臨時表是存儲在臨時表空間裏面的,且不記錄日誌的,NOLOGGING的。
1.臨時表可以創建臨時的索引、視圖、觸發器
2.如果要DROP會話級別臨時表,並且其中包含數據時,必須先截斷其中的數據。否則會報錯。
3.臨時表不會有DML 鎖
4.臨時表不能永久的保存數據
5.不支持主外鍵關系
臨時表有兩種
1.會話級臨時表
會話級臨時表是指臨時表中的數據只在會話生命周期之中存在,當用戶退出會話結束的時候,Oracle自動清除臨時表中數據。

Create Global Temporary Table Table_Name
(
id number
name varchar2(20)
...
)
On Commit Preserve Rows;

2.事務級臨時表
事務級臨時表是指臨時表中的數據只在事務生命周期中存在,當一個事務結束(commit or rollback),Oracle自動清除臨時表中數據

Create Global Temporary Table Table_Name
(
id number
name varchar2(20)
...
)
On Commit Delete Rows;

註意:雖然臨時表會在退出會話,或提交事務回滾事務後自動清除數據,但是臨時表的結構以及元數據還存儲在用戶的數據字典中。如果臨時表完成它的使命後,最好刪除臨時表,否則數據庫會殘留很多臨時表的表結構和元數據。

什麽是oracle的臨時表??