oracle 臨時表問題

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搞得怪,寫這個的原因一是想把這點經驗共享一下,二是覺得我們不同能太迷信一些工具了,也許當你被某個問題搞得焦頭爛額時沒準出問題的不是你。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章