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