oracle临时表

1.介绍

ORACLE数据库除了可以保存永久表外,还可以建立临时表temporary tables。这些临时表用来保存一个会话SESSION的数据,或者保存在一个事务中需要的数据。当会话退出或者用户提交commit和回滚rollback事务的时候,临时表的数据自动清空,但是临时表的结构以及元数据还存储在用户的数据字典中。

Oracle临时表分为 会话级临时表 和 事务级临时表。
会话级临时表是指临时表中的数据只在会话生命周期之中存在,当用户退出会话结束的时候,Oracle自动清除临时表中数据。
事务级临时表是指临时表中的数据只在事务生命周期中存在。当一个事务结束(commit or rollback),Oracle自动清除临时表中数据。
临时表中的数据只对当前Session有效,每个Session都有自己的临时数据,并且不能访问其它Session的临时表中的数据。因此,临时表不需要DML锁。


2.建表语句

1) ON COMMIT DELETE ROWS 定义了建立事务级临时表的方法.


CREATE GLOBAL TEMPORARY TABLE TMP_NAME

(

           ...

)  ON COMMIT DELETE ROWS;

2)ON COMMIT PRESERVE ROWS 定义了创建会话级临时表的方法.


CREATE GLOBAL TEMPORARY TABLE TMP_NAME

(

           ...

 ON COMMIT PRESERVE ROWS;

你可能感兴趣的:(oracle临时表)