TEMPORARY TABLE自動刪除資料的時機
TEMPORARY TABLE會依據不同的使用者,分配各自獨立的Temp Segment,
如此一來,就可以讓不同的使用者,獨自操作Temporary Table,而不會互相干擾。
而在創建Temporary Table有一個指定參數,可以決定什麼時候要刪除資料。
1、ON COMMIT DELETE ROWS(只要commit就將資料除)
CREATE GLOBAL TEMPORARY TABLE CUSADMIN.TMP_GGG
(
A VARCHAR2(100 BYTE),
B VARCHAR2(100 BYTE)
)
ON COMMIT DELETE ROWS
NOCACHE;
測試:
SQL> insert into cusadmin.tmp_ggg values('aa','bb');
1 row created.
SQL> select * from cusadmin.tmp_ggg;
A B
------- -----------
aa bb
SQL> commit;
Commit complete.
SQL> select * from cusadmin.tmp_ggg;
no rows selected
2、ON COMMIT PRESERVE ROWS(在同一Sessin期間,資料是保存的)
CREATE GLOBAL TEMPORARY TABLE CUSADMIN.TMP_GGG
(
A VARCHAR2(100 BYTE),
B VARCHAR2(100 BYTE)
)
ON COMMIT PRESERVE ROWS
NOCACHE;
測試:
SQL> insert into cusadmin.tmp_ggg values('aa','bb');
1 row created.
SQL> select * from cusadmin.tmp_ggg;
A B
------ --------
aa bb
SQL> commit;
Commit complete.
SQL> select * from cusadmin.tmp_ggg;
A B
------ --------
aa bb
SQL> disconnect;
SQL> connect cusadmin/XXXXX@test
Connected.
SQL> select * from cusadmin.tmp_ggg;
no rows selected
在建立Temporary Table時,其預設參數為ON COMMIT DELETE ROWS,
但是有時候在撰寫程式時,都會有數個commit,再取出資料的動作,
此時最好是使用ON COMMIT PRESERVE ROWS。
-
在電腦版的Line輸入文字時,遇到需要換行的情形時,我都是用記事本先寫好再複製上去,這樣就可以有換行的效果,可是這樣的做法好像失去Line的便利性。 於是查了一下,原來有一個設定可以指定Enter換行,而不是發訊息出去。 完成設定之後,要發送訊息就改用Al...
-
Windows7 / Windows8 kill process Linux下要刪除某個程序通常會使用 ps 配合 kill 來刪除程序。 例如:ps -ef |grep [PROCESS NAME] kill -9 [PID] 在Windows下,通常是...
-
在7月份的時候,利用Google地圖查詢官田區的路線,偶然發現「官田新訓中心(度假村)」,地點卻是我以前當兵時的新訓中心,難道當年的官田新訓中心已經被裁撤,改為飯店還是觀光景點嗎? 將Google地圖轉為街景模式,看見的還是新訓中心的門口,幾乎與我腦中的印象一樣,沒有什...