转:http://www.2cto.com/database/201210/163979.html

临时表:像普通表一样,有结构,但是对数据的管理上不一样,临时表存储事务或会话的中间结果集,临时表中保存的数据只对当前会话可见,所有会话都看不到其他会话的数据,即使其他会话提交了,也看不到。临时表不存在并发行为,因为他们对于当前会话都是独立的。

      创建临时表时,ORACLE只创建了表的结构(在数据字典中定义),并没有初始化内存空间,当某一会话使用临时表时,ORALCE会从当前用户的临时表空间分配一块内存空间。也就是说只有向临时表中插入数据时,才会给临时表分配存储空间。 
 
临时表分事务级临时表和会话级临时表。 
事务级临时表只对当前事务有效,通过语句:ON COMMIT DELETE ROWS 语句指定。 
会话级临时表对当前会话有效,通过语句:ON COMMIT PRESERVE ROWS语句指定。 
 
用法举例(在SCOTT模式下): 
CREATE GLOBAL TEMPORARY TABLE session_temp_tab ON COMMIT PRESERVE ROWS AS SELECT * FROM emp WHERE 1=2; 
ON COMMIT PRESERVE ROWS语句指定所创建的临时表是会话级临时表,当我们断开连接或手动执行DELETE或TRUNCATE之前,临时表中的数据一直存 
在,并且只有当前会话可以看到,其他会话看不到。 
 
CREATE GLOBAL TEMPORARY TABLE transaction_temp_tab ON COMMIT DELETE ROWS AS SELECT * FROM emp WHERE 1=2; 
ON COMMIT DELETE ROWS语句指定所创建的临时表是事务级临时表,当COMMIT或ROLLBACK之前,这些数据一直存在,当事务提交之后,表中数据自动清除。 
insert into session_temp_tab select * from emp ; 
insert into transaction_temp_tab select * from emp ; 
SQL> select count(*) from session_temp_tab ; 
 
COUNT(*) 
---------- 
        14 
 
SQL> select count(*) from transaction_temp_tab ; 
 
COUNT(*) 
---------- 
        14 
SQL> commit; 
 
Commit complete 
 
SQL> select count(*) from session_temp_tab ; 
 
COUNT(*) 
---------- 
        14 
 
SQL> select count(*) from transaction_temp_tab ; 
 
COUNT(*) 
---------- 
         0   
当COMMIT之后事务级临时表中的数据自动清除,所以再次查询的时候得到结果为0 ; 
SQL> disconnect ; 
Not logged on 
 
SQL> connect scott/tiger ; 
Connected to Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 
Connected as scott 
 
SQL> select count(*) from transaction_temp_tab ; 
 
COUNT(*) 
---------- 
         0 
 
SQL> select count(*) from session_temp_tab ; 
 
COUNT(*) 
---------- 
         0 
当断开之后重新连接之后,会话级临时表中的数据也被自动删除了。

ORACLE临时表 转 学习用的更多相关文章

  1. ORACLE临时表总结

    临时表概念 临时表就是用来暂时保存临时数据(亦或叫中间数据)的一个数据库对象,它和普通表有些类似,然而又有很大区别.它只能存储在临时表空间,而非用户的表空间.ORACLE临时表是会话或事务级别的,只对 ...

  2. ORACLE临时表空间

    ORACLE临时表空间总结 2014-10-05 11:35 by 潇湘隐者, 临时表空间概念 临 时表空间用来管理数据库排序操作以及用于存储临时表.中间排序结果等临时对象,当ORACLE里需要用到S ...

  3. ORACLE临时表总结(转载)

    转载地址:http://www.cnblogs.com/kerrycode/p/3285936.html 临时表概念 临时表就是用来暂时保存临时数据(亦或叫中间数据)的一个数据库对象,它和普通表有些类 ...

  4. Oracle临时表GLOBAL TEMPORARY TABLE

    临时表:像普通表一样,有结构,但是对数据的管理上不一样,临时表存储事务或会话的中间结果集,临时表中保存的数据只对当前 会话可见,所有会话都看不到其他会话的数据,即使其他会话提交了,也看不到.临时表不存 ...

  5. Oracle 临时表

    一.临时表的介绍: Oracle的临时表只存在于某个会话或者事物的生命周期里,此时临时表中的数据只对当前这个会话可见. 临时表经常被用于存放一个操作的中间数据(数据处理的中间环节). 临时表由于不产生 ...

  6. 详解Oracle临时表的几种用法及意义

    Oracle临时表可以说是提高数据库处理性能的好方法,在没有必要存储时,只存储在Oracle临时表空间中.希望本文能对大家有所帮助. 1 .前言 Oracle Logo 目前所有使用 Oracle 作 ...

  7. Oracle临时表(Temporary Table)

    GLOBAL TEMPORARY代表全局临时表临时表的元数据存储在数据字典里面 只当第一条DML命令发生的时候才为这张表的段分配空间 临时表数据的可见范围应该是会话级别或是事务级别的 会话或者事务级别 ...

  8. ORACLE 临时表空间清理

    Oracle临时表空间主要用来做查询和存放一些缓冲区数据.临时表空间消耗的主要原因是需要对查询的中间结果进行排序.临时表空间的主要作用: 索引create或rebuildOrder by 或 grou ...

  9. ORACLE临时表总结[转]

    临时表概念 临时表就是用来暂时保存临时数据(亦或叫中间数据)的一个数据库对象,它和普通表有些类似,然而又有很大区别.它只能存储在临时表空间,而非用户的表空间.ORACLE临时表是会话或事务级别的,只对 ...

随机推荐

  1. 批量ping主机脚本

    #! /bin/bash for i in `cat test.list`do   host=`echo $i|awk -F"," '{print $1}'`   app_IP=` ...

  2. 第二百七十天 how can I 坚持

    终于有点事干了,今天挺忙的. 今晚没玩游戏,看了个电影<解救吾先生>,还好. 傻. 12月28了,还三天就2016了,好快. 今天地铁人好多,早上又没起来,又迟到了,去霍营倒车,竟然还差点 ...

  3. 第二百五十八天 how can I 坚持

    装虚拟机了.CentOs,32位,这电脑装4台能不能带起来啊. 早上,流鼻血了,不知道咋回事.太干了... 明天得早起会,得利索着点,不能托托拉拉的. 还有,今天又忘带钥匙了.悲剧. 睡觉.hadoo ...

  4. JavaSE聊天室

    今天学习了一下简单聊天程序(类似QQ那种)的编写过程,从最初的0.1版本到最后的1.3版本,功能不断地增强,下面对一天的学习内容进行梳理. 版本0.1 我们的需求是显示一个窗体,其他什么也不用做,其他 ...

  5. C#的dll被其他程序调用时,获取此dll正确的物理路径

    当C# dll被其他程序调用时,用Application.StartupPath获取的dll路径并不一定是此dll的物理路径,有可能是调用程序的路径. 以下方法或者能够获取dll正确的物理路径(未经过 ...

  6. 13个Cat命令管理文件实例汇总

    在Linux系统中,大多数配置文件.日志文件,甚至shell脚本都使用文本文件格式,因此,Linux系统存在着多种文本编辑器,但当你仅仅想要查看一下这些文件的内容时,可使用一个简单的命令-cat. c ...

  7. ManagementFactory (一) getClassLoadingMXBean

    ClassLoadingMXBean case import java.lang.management.ClassLoadingMXBean; import java.lang.management. ...

  8. [Windows驱动开发](一)序言

    笔者学习驱动编程是从两本书入门的.它们分别是<寒江独钓——内核安全编程>和<Windows驱动开发技术详解>.两本书分别从不同的角度介绍了驱动程序的制作方法. 在我理解,驱动程 ...

  9. WordPress 主题框架是如何工作的

    主题框架可以说是无比强大的!对于非技术型的 WordPress 用户来说,主题框架使得建立一个独一无二并看起来像是运行一个量身定制的主题的网站成为可能,并且对于 WordPress 开发者来说,它们能 ...

  10. 红帽 Enterprise Linux OpenStack Platform 4.0全面上市

    十一月,红帽公司推出Red Hat Enterprise Linux OpenStack Platform 4.0测试版,这款企业级解决方案集Red Hat Enterprise Linux的稳定性与 ...