oracle8i中無法創建會話級別的臨時表
舉例來說,如下的 創建臨時表的 sql語句
create global temporary table TB__SHEET
(
VCCODE VARCHAR2(40) not null,
VCID VARCHAR2(40),
VCNAME VARCHAR2(40),
VCMODEL VARCHAR2(40),
)
on commit preserve rows;
-- Create/Recreate primary, unique and foreign key constraints
alter table TB_SHEET
add constraint PK_TB_SHEET primary key (VCCODE);
執行完畢,通過PLSQL Developer查看,建表腳本會被系統改爲
on commit delete rows;
即原本 會話級 的臨時表變成了 事務級 的臨時表
同樣的sql語句,在oracle9i中執行,則沒有問題
後來用sql plus 做實驗發現8i上其實建立的確實是會話級的臨時表,原來都是PLSQL Developer搞得怪,寫這個的原因一是想把這點經驗共享一下,二是覺得我們不同能太迷信一些工具了,也許當你被某個問題搞得焦頭爛額時沒準出問題的不是你。