在oracle中临时表的种类

     临时表的概念: 在Oracle数据库中还有一种类型的表,叫做临时表。这个临时表跟永久表最大的区别就是表中的数据不会永远的存在。当一个会话结束或者事务结束的时候,这个临时表中的数据,不用用户自己删除,数据库自己会自动清除。(表是全局,只是数据消失)

      Oracle数据库根据临时表的性质不同,可以分为事务临时表与会话临时表。事务临时表是指数据只有在当前事务内有效。一般情况下,如果在创建数据表的时候,没有特殊指明这表是会话临时表的话,则该表默认为事务临时表。

      事务临时表:

      Create global temporary table Temp_user
  (ID NUMBER(12) Primary key,name varchar2(10)) ON COMMIT DELETE ROWS ;

     会话临时表:

      CREATE GLOBAL TEMPOPARY TABLE TEMP_USER
  (ID NUMBER(12) Primary key,name varchar2(10))
  ON COMMIT PRESERVE ROWS ;

 

      也就是说,会话临时表跟事务临时表的创建语法大致相同,只有最后的关键字有区别 。不过两个表虽然类似,但是其内部的处理机制还是有比较大的区别。

      区别:事务临时表,在提交事务后,表中的数据就消失了,但是会话临时表不会!~

               会话临时表,提交事务后,依旧能查询,但是关闭数据后,重新连接时,表中的数据才会消失!~

 

       从以上的分析我们可以看中,会话临时表与事务临时表主要的差异就在于删除数据时机的不同。事务性临时表是在事务提交的时候清除数据,而会话性临时表则是在关闭当前会话的时候清除临时表。只要当前会话没有关闭,即使事务完成了,会话临时表中的数据仍然存在,不会被清除。

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值