[Oracle整理]临时表

说明:本内容是工作用到的知识点整理,来自工作中和网络。
代码于Oracle9上测试。

 

作用:

1. 可以用來提高程式運行效率

2. 可以讓用戶只能夠操作各自的數據而互不

干擾,不用擔心會破壞或影響其他Session

/transaction的數據,這也是數據安全的一

種解決方法

缺點:

Oracle 臨時表無法建立主外鍵,也不支持LOB对象

類別:

1. TRANSACTION級臨時表 (事務級的臨時表)

2. SESSION級臨時表 (會話級的臨時表)

語法:

SESSION级临时表 :

create global temporary table table_name(col1 type1,col2 type2...)

on commit preserve rows;

TRANSACTION级临时表 :

create global temporary table table_name(col1 type1,col2 type2...)

on commit delete rows;

創建

Sql server 利用SELECT语句与CREAT语句创建临时表,

是在需要使用的時候才進行創建

当结束会话时,不仅表中的数据被清空了,

而且该表也被删除了

Oracle 的臨時表是先建立好,在使用到的時候直接調用即

可,臨時表是永久性的,只是表的內容是臨時的

數據釋放

Sql有两种临时表,一种是本地临时表,一种是全局临时表。

Oracle 的臨時表的數據是獨立的,用戶只能看到自己建立的數據,對於數據安全性來說是非常有保證的

特點

1,临时表的结构以及元数据存储在用户的数据字典中

2,DML操作的临时表不产生redo log重作日志,但会产生回滚日志Undo log;Undo的产生(rollback segment)会产生Redo log。

3,可以索引临时表,建立在临时表上的索引也是临时的

4,可以在临时表基础上建立视图

5,可以拥有触发器.

學習資料

http://space.itpub.net/8570952/viewspace-207199#xspace-tracks

http://www.cnblogs.com/zqmingok/archive/2009/12/17/1626673.html

posted @ 2012-01-29 10:46  yellowwood  阅读(226)  评论(0编辑  收藏  举报
Never Give UP