什么是oracle的临时表??
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是oracle的临时表??相关的知识,希望对你有一定的参考价值。
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的临时表??的主要内容,如果未能解决你的问题,请参考以下文章