溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Oracle中如何創(chuàng)建和使用臨時表

發(fā)布時間:2021-07-28 17:05:23 來源:億速云 閱讀:536 作者:Leah 欄目:關(guān)系型數(shù)據(jù)庫

這篇文章將為大家詳細(xì)講解有關(guān)Oracle中如何創(chuàng)建和使用臨時表,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

ORACLE數(shù)據(jù)庫除了可以保存永久表外,還可以建立臨時表temporary tables。這些臨時表用來保存一個會話SESSION的數(shù)據(jù),或者保存在一個事務(wù)中需要的數(shù)據(jù)。當(dāng)會話退出或者用戶提交commit和回滾rollback事務(wù)的時候,臨時表的數(shù)據(jù)自動清空,但是臨時表的結(jié)構(gòu)以及元數(shù)據(jù)還存儲在用戶的數(shù)據(jù)字典中。

分類:
1.會話級臨時表

會話級臨時表是指臨時表中的數(shù)據(jù)只在會話生命周期之中存在,當(dāng)用戶退出會話結(jié)束的時候,Oracle自動清除臨時表中數(shù)據(jù)。

格式:


Create Global Temporary Table Table_Name

(

Col1 Type1,

Col2 Type2

...

)

On Commit Delete Rows;

當(dāng)一個事務(wù)結(jié)束(commit or rollback),Oracle自動清除臨時表中數(shù)據(jù)。

下面在Oracle 10g中演示了臨時表的創(chuàng)建與使用:

1.創(chuàng)建事務(wù)級臨時表,插入一條數(shù)據(jù),并查詢:


create global temporary table session_temp_tb (col1 varchar(20)) on commit preserve rows;

insert into session_temp_tb values('test');

select * from session_temp_tb;


Oracle中如何創(chuàng)建和使用臨時表

4..執(zhí)行commit或者rollback操作,表內(nèi)數(shù)據(jù)依然存在,新建一個命令窗口(相當(dāng)于開啟了一個新的會話),表內(nèi)的數(shù)據(jù)就查詢不到了:

Oracle中如何創(chuàng)建和使用臨時表

5.如果創(chuàng)建會話臨時表的會話沒有結(jié)束,則無法刪除此臨時表,因?yàn)榕R時表,還在使用之中,但是結(jié)束會話(關(guān)閉創(chuàng)建會話級臨時表的命令窗口)后就可以刪除了:

Oracle中如何創(chuàng)建和使用臨時表

Oracle中如何創(chuàng)建和使用臨時表

關(guān)于Oracle中如何創(chuàng)建和使用臨時表就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI