好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > oracle 臨時表詳解及實例

oracle 臨時表詳解及實例

熱門標簽:哪個400外呼系統好 慧營銷crm外呼系統丹丹 愛客外呼系統怎么樣 開發外呼系統 哈爾濱電話機器人銷售招聘 百度地圖標注途經點 山東crm外呼系統軟件 地圖標注養老院 圖吧網站地圖標注

在Oracle8i或以上版本中,可以創建以下兩種臨時表:

1。會話特有的臨時表

CREATE GLOBAL TEMPORARY TABLE_NAME> ( column specification> )
ON COMMIT PRESERVE ROWS; 

2。事務特有的臨時表

CREATE GLOBAL TEMPORARY TABLE_NAME> ( column specification> )
ON COMMIT DELETE ROWS;
CREATE GLOBAL TEMPORARY TABLE MyTempTable  

所建的臨時表雖然是存在的,但是你試一下insert 一條記錄然后用別的連接登上去select,記錄是空的,明白了吧,我把下面兩句話再貼一下:

--ON COMMIT DELETE ROWS 說明臨時表是事務指定,每次提交后ORACLE將截斷表(刪除全部行)
--ON COMMIT PRESERVE ROWS 說明臨時表是會話指定,當中斷會話時ORACLE將截斷表。

沖突的問題更本不用考慮.

臨時表只是保存當前會話(session)用到的數據,數據只在事務或會話期間存在。

通過CREATE GLOBAL TEMPORARY TABLE命令創建一個臨時表,對于事務類型的臨時表, 數據只是在事務期間存在,對于會話類型的臨時表,數據在會話期間存在。

會話的數據對于當前會話私有。每個會話只能看到并修改自己的數據。DML鎖不會加到 臨時表的數據上。下面的語句控制行的存在性。

● ON COMMIT DELETE ROWS 表名行只是在事務期間可見
● ON COMMIT PRESERVE ROWS 表名行在整個會話期間可見

可以對臨時表創建索引,視圖,出發器,可以用export和import工具導入導出表的 定義,但是不能導出數據。表的定義對所有的會話可見。

Temporary Tables臨時表

1簡介

ORACLE數據庫除了可以保存永久表外,還可以建立臨時表temporary tables。這些臨時表用來保存一個會話SESSION的數據,

或者保存在一個事務中需要的數據。當會話退出或者用戶提交commit和回滾rollback事務的時候,臨時表的數據自動清空,
但是臨時表的結構以及元數據還存儲在用戶的數據字典中。

臨時表只在oracle8i以及以上產品中支持。

2詳細介紹

Oracle臨時表分為 會話級臨時表 和 事務級臨時表。

會話級臨時表是指臨時表中的數據只在會話生命周期之中存在,當用戶退出會話結束的時候,Oracle自動清除臨時表中數據。
事務級臨時表是指臨時表中的數據只在事務生命周期中存在。當一個事務結束(commit or rollback),Oracle自動清除臨時表中數據。

臨時表中的數據只對當前Session有效,每個Session都有自己的臨時數據,并且不能訪問其它Session的臨時表中的數據。因此,

臨時表不需要DML鎖.當一個會話結束(用戶正常退出 用戶不正常退出 ORACLE實例崩潰)或者一個事務結束的時候,Oracle對這個會話的

表執行 TRUNCATE 語句清空臨時表數據.但不會清空其它會話臨時表中的數據.

你可以索引臨時表和在臨時表基礎上建立視圖.同樣,建立在臨時表上的索引也是臨時的,也是只對當前會話或者事務有效.

臨時表可以擁有觸發器.

3建立臨時表

臨時表的定義對所有會話SESSION都是可見的,但是表中的數據只對當前的會話或者事務有效.

建立方法:

1) ON COMMIT DELETE ROWS 定義了建立事務級臨時表的方法.

CREATE GLOBAL TEMPORARY TABLE admin_work_area 
(startdate DATE, 
enddate DATE, 
class CHAR(20)) 
ON COMMIT DELETE ROWS; 

EXAMPLE:

SQL> CREATE GLOBAL TEMPORARY TABLE admin_work_area 
 (startdate DATE, 
enddate DATE, 
class CHAR(20)) 
ON COMMIT DELETE ROWS; 
SQL> create table permernate( a number); 
SQL> insert into admin_work_area values(sysdate,sysdate, ‘temperary table ‘); 
SQL> insert into permernate values(1); 
SQL> commit; 
SQL> select * from admin_work_area; 
SQL> select * from permernate; 
A 
1 
 

2)ON COMMIT PRESERVE ROWS 定義了創建會話級臨時表的方法.

CREATE GLOBAL TEMPORARY TABLE admin_work_area 
(startdate DATE, 
enddate DATE, 
class CHAR(20)) 
ON COMMIT PRESERVE ROWS; 
EXAMPLE:

會話1:

SQL> drop table admin_work_area; 
SQL> CREATE GLOBAL TEMPORARY TABLE admin_work_area 
2 (startdate DATE, 
3 enddate DATE, 
4 class CHAR(20)) 
5 ON COMMIT PRESERVE ROWS; 
SQL> insert into permernate values(2); 
SQL> insert into admin_work_area values(sysdate,sysdate, ‘session temperary ‘); 
SQL> commit; 
SQL> select * from permernate;

A 
---------- 
1 
2

SQL> select * from admin_work_area;

STARTDATE ENDDATE CLASS 
---------- ---------- -------------------- 
17-1?? -03 17-1?? -03 session temperary

會話2:

SQL> select * from permernate;

A 
---------- 
1 
2

SQL> select * from admin_work_area;

未選擇行.

會話2看不見會話1中臨時表的數據.

4 ORACLE臨時表和SQLSERVER臨時表異同

SQL SERVER臨時表

也可以創建臨時表。臨時表與永久表相似,但臨時表存儲在 tempdb 中,當不再使用時會自動刪除。
有本地和全局兩種類型的臨時表,二者在名稱、可見性和可用性上均不相同。本地臨時表的名稱以單個數字符號 (#) 打頭;
它們僅對當前的用戶連接是可見的;當用戶從 Microsoft? SQL Server? 2000 實例斷開連接時被刪除。全局臨時表的名稱以數學符號

(##) 打頭,創建后對任何用戶都是可見的,當所有引用該表的用戶從 SQL Server 斷開連接時被刪除。
例如,如果創建名為 employees 的表,則任何人只要在數據庫中有使用該表的安全權限就可以使用該表,除非它已刪除。
如果創建名為 #employees 的本地臨時表,只有您能對該表執行操作且在斷開連接時該表刪除。如果創建名為 ##employees 的全局臨時表

數據表中的任何用戶均可對該表執行操作。如果該表在您創建后沒有其他用戶使用,則當您斷開連接時該表刪除。如果該表在您創建

后有其他用戶使用,則 SQL Server在所有用戶斷開連接后刪除該表

不同:

1. SQL SERVER臨時表是一種”內存表”,表是存儲在內存中的.ORACLE臨時表除非執行DROP TABLE,否則表定義會保留在數據字典中.

2. SQL SERVER臨時表不存在類似ORACLE臨時表 事務級別 上的功能.

3 SQL SERVER本地臨時表(#) 與 ORACLE的會話級別臨時表類似,但是在會話退出的時候,ORACLE不會刪除表.

4 SQL SERVER的全局臨時表(##) 是指多個連接共享同一片內存.當沒有指針引用該內存區域時,SQL SERVER自動釋放全局臨時表.

5 由于ORACLE不是一種 內存中的數據庫. 所以如果ORACLE類似SQL SERVER 頻繁的對臨時表進行建立和刪除,必定會影響性能.
所以ORACLE會保留臨時表的定義直到用戶DROP TABLE.

6 在ORACLE中,如果需要多個用戶共享一個表(類似SQL SERVER的全局臨時表##).則可以利用永久表,

并且在表中添加一些可以唯一標識用戶的列.利用觸發器和視圖.當用戶退出的時候,根據該登陸用戶的唯一信息刪除相應的表中的數據.

這種方法給ORACLE帶來了一定量的負載.

以上就是對oracle 臨時表 的資料整理,后續繼續補充相關資料,謝謝大家對本站的支持!

您可能感興趣的文章:
  • Oracle 12CR2查詢轉換教程之臨時表轉換詳解
  • Oracle 12CR2查詢轉換教程之cursor-duration臨時表詳解
  • 對比Oracle臨時表和SQL Server臨時表的不同點
  • Oracle 臨時表空間SQL語句的實現

標簽:固原 開封 甘肅 和田 周口 武漢 青島 承德

巨人網絡通訊聲明:本文標題《oracle 臨時表詳解及實例》,本文關鍵詞  oracle,臨時,表,詳解,及,實例,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《oracle 臨時表詳解及實例》相關的同類信息!
  • 本頁收集關于oracle 臨時表詳解及實例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 欧美AV无码专区A片奶水多| 亚洲444444在线观看| 另类小说 色综合网站| 女性成人毛片a级| 久久国产精品影院| 欧美午夜??AV天堂| 全彩调教侵犯H本子全彩4399| 久久久久久精品免费免费男同| 国内精品视频成人一区二区| 我的小可爱(h)全文阅读姜悦| 欧美寡妇性猛交XXX无码漫画| 色偷偷WWWW88888免费| 久久久久久国产精品美女| 日韩高清第一页| 老小交小videos| 国产无遮挡又黄又爽免费网站 | 狠狠色很很在鲁视频| 亚洲人丰满毛茸茸水多多| 国产网红精品k频道| 经典黄h长篇小说| 天天插天天爽| 米奇7777狠狠狠狠视频AV| 免费播放的黄动漫画网站在线观看| 范冰冰大战三个黑人| 片多多在线观看高清电影| 黄动漫3d无遮挡免费观看| 韩国一级毛A片免费播| 激情网成人| 色呦| 宝贝你真湿真紧好爽H视频男男 | 国产对白普通话不带套| xxxxxxx泡妞免费| 艳妇的名器| 爽死你个放荡小婬妇老师| 爱操在线| 国产精品免费看香蕉| 欧美日韩精品免费一区二区三区| 91精品国产综合久久久无码鸭王| 中文字幕一区二区三区免费视频 | 黄色三级网站在线观看| 国产又粗又猛又色又黃|