臨時表在我們需要儲存一些臨時資料時是非常有用的。臨時表只在當前連線可見,當關閉連線時,會自動刪除表並釋放所有空間。當我們想要進行乙個很複雜或資料量很大的查詢時,我們就可以建立乙個臨時表來儲存,並進行操作
建立臨時表有兩種方式:
1、事務級臨時表on commit delete rows當commit的時候刪除資料(預設)
2、回話級臨時表on commit preserve rows當commit的時候保留資料
1、會話級臨時表
會話級臨時表是指臨時表中的資料只在回話生命週期存在,當客戶關閉會話時,oracle也會清除臨時表的資料
語法:
on commit
preserve
rows
或者create
global
temporary
table table_tmp on
commit
preserve
rows
asselect * from table_
2、事務級臨時表
事務級臨時表實質臨時表中的資料只在事務生命週期存在,當使用者執行commit、rollback時候,oracle會清除臨時表資料
語法:
on commit
delete
rows;
或者create
global
temporary
table table_tmp on
commit
delete
rows
asselect * from table_
注意: Oracle兩種臨時表的建立與使用
oracle資料庫除了可以儲存永久表外,還可以建立臨時表temporary table。這些臨時表用來儲存乙個會話session的資料,或者儲存在乙個事務中需要的資料。當會話退出或者使用者提交commit和回滾rollback事務的時候,臨時表的資料自動清空,但是臨時表的結構以及元資料還儲存在使用者...
Oracle兩種臨時表的建立與使用詳解
oracle資料庫除了可以儲存永久表外,還可以建立臨時表temporary tables。這些臨時表用來儲存乙個會話session的資料,或者儲存在乙個事務中需要的資料。當會話退出或者使用者提交commit和回滾rollback事務的時候,臨時表的資料自動清空,但是臨時表的結構以及元資料還儲存在使用...
Oracle兩種臨時表的建立與使用詳解
oracle資料庫除了可以儲存永久表外,還可以建立臨時表temporary tables。這些臨時表用來儲存乙個會話session的資料,或者儲存在乙個事務中需要的資料。當會話退出或者使用者提交commit和回滾rollback事務的時候,臨時表的資料自動清空,但是臨時表的結構以及元資料還儲存在使用...