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。
-
Windows7 / Windows8 kill process Linux下要刪除某個程序通常會使用 ps 配合 kill 來刪除程序。 例如:ps -ef |grep [PROCESS NAME] kill -9 [PID] 在Windows下,通常是...
-
利用Win 10的工作排程器來設定每日自動執行的批次檔,單獨執行批次檔沒問題,但是放在排程上就是無法執行。 後來試了幾種網路上提供的方式,其注意的事項如下: 1、在「安全性選項」選擇「只有使用者登入時才執行」並取消「以最高權限執行」。 2、在「設定」中選擇「Win...
-
對於使用Premiere CC,我還只是新手,所以還在學習。 今天記錄的是如何把一段影片與聲音分離,分離後可以單獨操作, 這個應該是最基本的技能吧,會有這個需求,主要是我的影音沒有同步, 所以想把影片與聲音分開處理,以解決不同步的問題。 分離只有一個步驟,就是在Time...