首页 > 数据库技术 > 详细

Oracle中的临时表

时间:2015-03-01 23:50:48      阅读:458      评论:0      收藏:0      [点我收藏+]

Oracle中的临时表

在Oracle中,临时表是“静态”的,它与普通的数据表一样只需要一次创建,其结构从创建到删除的整个期间都是有效的。相对于其他类型的表,临时表只有在用户实际向表中添加数据时,才会为其分配空间,并且分配的空间来自临时表空间。这就避免了与永久对象的数据争用存储空间。

创建临时表的语法如下:

CREATE GLOBAL TEMPORARY TABLE table_name(
    column_name data_type,[column_name data_type,...]
)ON COMMIT DELETE|PRESERVE ROWS;

由于临时表存储的数据只在当前事务处理或者会话进行期间有效
因此,临时表分为事务级临时表会话级临时表

事务级临时表

创建事务级临时表,需要使用ON COMMIT DELETE ROWS子句,事务级临时表的记录在每次提交事务后被自动删除。

例1:

CREATE GLOBAL TEMPORARY TABLE tbl_user_transcation(
       ID NUMBER,
       uname VARCHAR2(10),
       usex VARCHAR2(2),
       ubirthday DATE
)
ON COMMIT DELETE ROWS;

会话级临时表

创建会话级临时表,需要使用ON COMMIT PRESERVE ROWS子句,会话级临时表的记录在用户与服务器断开连接后被自动删除。

例2:

CREATE GLOBAL TEMPORARY TABLE tbl_user_session(
       ID NUMBER,
       uname VARCHAR2(10),
       usex VARCHAR2(2),
       ubirthday DATE
)
ON COMMIT PRESERVE ROWS;

操作临时表

Oracle中的临时表

原文:http://blog.csdn.net/u010999240/article/details/44007263

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