oracle兩種臨時表的建立

2021-08-20 06:26:48 字數 871 閱讀 4505

臨時表在我們需要儲存一些臨時資料時是非常有用的。臨時表只在當前連線可見,當關閉連線時,會自動刪除表並釋放所有空間。當我們想要進行乙個很複雜或資料量很大的查詢時,我們就可以建立乙個臨時表來儲存,並進行操作

建立臨時表有兩種方式:

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事務的時候,臨時表的資料自動清空,但是臨時表的結構以及元資料還儲存在使用...