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搞得怪,写这个的原因一是想把这点经验共享一下,二是觉得我们不同能太迷信一些工具了,也许当你被某个问题搞得焦头烂额时没准出问题的不是你。

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