oracle创建临时表的用法

1、会话级别临时表

会话级别临时表是指临时表中的数据只在会话生命周期中,当用户结束会话是,oracle会自动清除临时表的数据。

create GLOBAL Temporary table RNG(
name varchar(22),
age  num(10)
)
on commit preserve rows;
insert into RNG (name,age) values(uzi,20);
select * from RNG;

此时我们可以查询到表中的结果,当我们插入数据,然后执行commit和rollback,(这就是on commit preserve rows的作用)数据还是可以查到。但是仅限于当前会话,新建会话就查询不到表的数据。

2、事务级临时表

create GLOBAL Temporary table OMG(
name varchar(22),
age  num(10)
) 
on commit delete rows
insert into RNG (name,age) values(uzi,20);
select * from OMG;

当我们插入数据后,在不提交的commit的情况是可以查询到的,但当事务结束(commit or rollback ),数据就会自动清除;
如果不写on commit delete rows;
oralce会认为是事务级会话;


版权声明:本文为L1048805945原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。