创建临时表时该怎么理解on commit delete rows(Oracle)

用如下语句在Oracle中创建一个临时表:

create global temporary table test4
on commit delete rows
as select * from hr.employees;

首先,创建好后临时表中竟然没有数据(我觉得应该是把所有hr.employees中的数据导入到了该临时表中了呀)。

最后,inserthr.employees中的数据不能反映到临时表(是不是意味着该临时表一旦创建,就和hr.employees没有关系了?)

阅读 5.5k
1 个回答

问了老师,知道答案了:

创建临时表的时候自动提交了事务,所以刚刚导入到临时表的数据又被清空了。

不过,临时表还是保存了表结构的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏