日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

临时表的使用方法

發布時間:2025/6/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 临时表的使用方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

臨時表的使用方法:

創建 Oracle 臨時表,可以有兩種類型的臨時表:

會話級的臨時表

事務級的臨時表。

1 ) 會話級的臨時表因為這這個臨時表中的數據和你的當前會話有關系,當你當前 SESSION 不退出的情況下,臨時表中的數據就還存在,而當你退出當前 SESSION 的時候,臨時表中的數據就全部沒有了,當然這個時候你如果以另外一 個 SESSION 登陸的時候是看不到另外一個 SESSION 中插入到臨時表中的數據的。即兩個不同的 SESSION 所插入的數據是互不相干的。當某一個 SESSION 退出之后臨時表中的數據就被截斷( truncate table ,即數據清空)了。會話級的臨時表創建方法:

Create Global Temporary Table Table_Name

(Col1 Type1,Col2 Type2...) On Commit Preserve Rows ;

舉例:

create global temporary table Student

(Stu_id Number(5),

Class_id? Number(5),

Stu_Name Varchar2(8),

Stu_Memo varchar2(200)) on Commit Preserve Rows ;

2 ) 事務級臨時表是指該臨時表與事務相關,當進行事務提交或者事務回滾的時候,臨時表中的數據將自行被截斷,其他的內容和會話級的臨時表的一致(包括退出 SESSION 的時候,事務級的臨時表也會被自動截斷)。事務級臨時表的創建方法:

Create Global Temporary Table Table_Name

(Col1 Type1,Col2 Type2...) On Commit Delete Rows ;

舉例:

create global temporary table Classes

(Class_id Number(5),

Class_Name Varchar2(8),

Class_Memo varchar2(200)) on Commit delete Rows ;

3 ) 兩中類型臨時表的區別

會話級臨時表采用 on commit preserve rows ;而事務級則采用 on commit delete rows ;用法上,會話級別只有當會話結束臨時表中的數據才會被截斷,而且事務級臨時表則不管是 commit 、 rollback 或者是會話結束,臨時表中 的數據都將被截斷

4 )什么時候使用臨時表

1 )、當某一個 SQL 語句關聯的表在 2 張及以上,并且和一些小表關聯。可以采用將大表進行分拆并且得到比較小的結果集合存放在臨時表中

2 )、程序執行過程中可能需要存放一些臨時的數據,這些數據在整個程序的會話過程中都需要用的等等。

轉載于:https://www.cnblogs.com/SanFrans/p/3309583.html

總結

以上是生活随笔為你收集整理的临时表的使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。