ORCAL 臨時(shí)創(chuàng)建表與刪除表
一.Orcal臨時(shí)表分類
1.會(huì)話級(jí)臨時(shí)表
- 1).保存一個(gè)會(huì)話
Session的數(shù)據(jù)。 - 2).當(dāng)會(huì)話退出時(shí),臨時(shí)表數(shù)據(jù)自動(dòng)清空。表結(jié)構(gòu)與元數(shù)據(jù)還存儲(chǔ)在用戶數(shù)據(jù)字典。
總結(jié):會(huì)話級(jí)臨時(shí)表是指臨時(shí)表中的數(shù)據(jù)只在會(huì)話生命周期之中存在,當(dāng)用戶退出會(huì)話結(jié)束的時(shí)候,Oracle自動(dòng)清除臨時(shí)表中數(shù)據(jù)。
2.事務(wù)級(jí)臨時(shí)表
- 1).保存一個(gè)事務(wù)中需要的數(shù)據(jù)。
- 2).當(dāng)事務(wù)提交或則回滾的時(shí)候,臨時(shí)表數(shù)據(jù)自動(dòng)清空。表結(jié)構(gòu)與元數(shù)據(jù)還存儲(chǔ)在用戶數(shù)據(jù)字典。
總結(jié):事務(wù)級(jí)臨時(shí)表是指臨時(shí)表中的數(shù)據(jù)只在事務(wù)生命周期中存在,當(dāng)事務(wù)提交或則回滾的時(shí)候,Oracle自動(dòng)清除臨時(shí)表中數(shù)據(jù)。
二.臨時(shí)表創(chuàng)建
1.會(huì)話級(jí)臨時(shí)表
1).先創(chuàng)建后插入數(shù)據(jù)
Create Global Temporary Table Table_Name (Col1 Type1,Col2 Type2...) On Commit Preserve Rows;
Insert Into Table_Name Values("","");
2).創(chuàng)建時(shí)直接插入數(shù)據(jù)
CREATE GLOBAL TEMPORARY TABLE Table_Name ON COMMIT PRESERVE ROWS AS select Col1, Col2 from Query_Table_Name where...;
2.事務(wù)級(jí)臨時(shí)表
1).先創(chuàng)建后插入數(shù)據(jù)
Create Global Temporary Table Table_Name (Col1 Type1,Col2 Type2...) On Commit Delete Rows;
Insert Into Table_Name Values("","");
2).創(chuàng)建時(shí)直接插入數(shù)據(jù)
CREATE GLOBAL TEMPORARY TABLE Table_Name ON COMMIT Delete ROWS AS select Col1, Col2 from Query_Table_Name where...;
三.刪除臨時(shí)表
如果創(chuàng)建臨時(shí)表的會(huì)話沒(méi)有結(jié)束,則無(wú)法刪除臨時(shí)表,因?yàn)榕R時(shí)表還在使用之中。但是結(jié)束會(huì)話(關(guān)閉創(chuàng)建會(huì)話級(jí)臨時(shí)表的命令窗口)后就可以刪除了;
Drop Table Table_name;
四.刪除時(shí)報(bào)錯(cuò)
描述:關(guān)閉原先的命令窗口,然后執(zhí)行 Drop Table Table_name;報(bào)錯(cuò):
ORA-14452:試圖創(chuàng)建,更改或刪除正在使用的臨時(shí)表中的索引
1.清空表,然后刪除表
TRUNCATE TABLE test_table; drop table test_table;
2.殺掉進(jìn)程,然后刪除
SELECT sid, serial# FROM v$session
WHERE sid = (SELECT sid FROM v$lock
WHERE id1 = (SELECT object_id FROM user_objects
WHERE object_name = upper('test_table')));
如果無(wú)權(quán)限則執(zhí)行授權(quán)
grant select any dictionary to user;
查詢到該session的sid和serial#:
然后殺掉進(jìn)程:
lter system kill session 'sid,serial#';
最后進(jìn)行刪除
drop table test_table;
到此這篇關(guān)于ORCAL 臨時(shí)創(chuàng)建表與刪除表的文章就介紹到這了,更多相關(guān)ORCAL 表創(chuàng)建與刪除內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
oracle通過(guò)行范圍查詢?nèi)?至10行并排序
這篇文章主要介紹了oracle如果查詢?nèi)?至10行并排序,很簡(jiǎn)單,很實(shí)用,正在學(xué)習(xí)oracle的朋友可以參考下2014-09-09
處理Oracle監(jiān)聽(tīng)程序當(dāng)前無(wú)法識(shí)別連接描述符中請(qǐng)求的服務(wù)異常(ORA-12514)
這篇文章介紹了處理Oracle監(jiān)聽(tīng)程序當(dāng)前無(wú)法識(shí)別連接描述符中請(qǐng)求的服務(wù)異常(ORA-12514),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12
ORACLE查看當(dāng)前賬號(hào)的相關(guān)信息
ORACLE 12C 后新增了一個(gè)功能,它會(huì)記錄用戶的最后一次登錄時(shí)間:SPARE6字段記錄用戶的最后一次登錄時(shí)間,本文給大家ORACLE如何查看當(dāng)前賬號(hào)的相關(guān)信息,感興趣的朋友一起看看吧2021-06-06
WINDOWS下使用DOS命令行連接oracle數(shù)據(jù)庫(kù)
本文講述了通過(guò)windows下的DOS命令連接oracle數(shù)據(jù)庫(kù)并進(jìn)行簡(jiǎn)單操作的方法2018-03-03
oracle數(shù)據(jù)庫(kù)索引失效的問(wèn)題及解決
本文總結(jié)了在Oracle數(shù)據(jù)庫(kù)中索引失效的一些常見(jiàn)場(chǎng)景,包括使用isnull、isnotnull、!=、<、>、函數(shù)處理、like前置%查詢以及范圍索引和等值索引同時(shí)存在等情況,通過(guò)實(shí)際的SQL查詢驗(yàn)證,展示了索引失效的原因,并給出了相應(yīng)的優(yōu)化建議2025-01-01
Linux環(huán)境下Oracle安裝參數(shù)設(shè)置方法詳解
這篇文章主要介紹了Linux環(huán)境下Oracle安裝參數(shù)設(shè)置方法,本文通過(guò)代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-06-06
sql?in查詢?cè)爻^(guò)1000條的解決方案
在oracle數(shù)據(jù)庫(kù)中sql使用in時(shí),如果in的能數(shù)超過(guò)1000就會(huì)出問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于sql?in查詢?cè)爻^(guò)1000條的解決方案,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03

