(转)Oracle 临时表用法
本文轉(zhuǎn)載自:http://www.iteye.com/topic/371390
ORACLE的臨時表在應(yīng)用系統(tǒng)中有很大的作用,它可以讓用戶只能夠操作各自的數(shù)據(jù)中而互不干擾,不用擔(dān)心會破壞或影響其他SESSION/TRANSACTION的數(shù)據(jù),這也是數(shù)據(jù)安全的一種解決方法。
臨時表分為SESSION、TRANSACTION兩種,SESSION級的臨時表數(shù)據(jù)在整個SESSION都存在,直到結(jié)束此次 SESSION;而TRANSACTION級的臨時表數(shù)據(jù)在TRANACTION結(jié)束后消失,即COMMIT/ROLLBACK或結(jié)束SESSION都會 清除TRANACTION臨時表數(shù)據(jù)。
兩種臨時表的語法:
??? create global temporary table 臨時表名 on commit preserve|delete rows? 用preserve時就是SESSION級的臨時表,用delete就是TRANSACTION級的臨時表
一、SESSION級臨時表
1、建立臨時表
2、插入數(shù)據(jù)
insert into temp_tbl values('test session table')3、提交commit;
4、查詢數(shù)據(jù)
可以看到數(shù)據(jù)'test session table'記錄還在。
結(jié)束SESSION,重新登錄,再查詢數(shù)據(jù)select *from temp_tbl,這時候記錄已不存在,因為系統(tǒng)在結(jié)束SESSION時自動清除記錄
二、TRANSACTION級臨時表
1、建立臨時表
2、插入數(shù)據(jù)
insert into temp_tbl values('test transaction table')3、提交
??? commit
4、查詢數(shù)據(jù)
這時候可以看到剛才插入的記錄'test transaction table'已不存在了;同樣,如果不提交而直接結(jié)束SESSION,重新登錄記錄也不存在
轉(zhuǎn)載于:https://www.cnblogs.com/wpcnblog/p/3951507.html
總結(jié)
以上是生活随笔為你收集整理的(转)Oracle 临时表用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 两部神剧梦幻联动!网友发现《狂飙》京海医
- 下一篇: 《蚁人3》等漫威大片中国吃瘪!国人为国产