首页 > 数据库技术 > 详细

什么是oracle的临时表??

时间:2018-01-23 00:42:36      阅读:326      评论:0      收藏:0      [点我收藏+]
ORACLE数据库除了可以保存永久表外,还可以建立临时表。临时表是存储在临时表空间里面的,且不记录日志的,NOLOGGING的。
1.临时表可以创建临时的索引、视图、触发器
2.如果要DROP会话级别临时表,并且其中包含数据时,必须先截断其中的数据。否则会报错。
3.临时表不会有DML 锁
4.临时表不能永久的保存数据
5.不支持主外键关系
临时表有两种
1.会话级临时表
会话级临时表是指临时表中的数据只在会话生命周期之中存在,当用户退出会话结束的时候,Oracle自动清除临时表中数据。

Create Global Temporary Table Table_Name
(
id number
name varchar2(20)
...
)
On Commit Preserve Rows;

2.事务级临时表
事务级临时表是指临时表中的数据只在事务生命周期中存在,当一个事务结束(commit or rollback),Oracle自动清除临时表中数据

Create Global Temporary Table Table_Name
(
id number
name varchar2(20)
...
)
On Commit Delete Rows;

注意:虽然临时表会在退出会话,或提交事务回滚事务后自动清除数据,但是临时表的结构以及元数据还存储在用户的数据字典中。如果临时表完成它的使命后,最好删除临时表,否则数据库会残留很多临时表的表结构和元数据。

什么是oracle的临时表??

原文:http://blog.51cto.com/12185273/2063996

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!