ORACLE的临时表

ORACLE的临时表

创建ORACLE的临时表

CREATE GLOBAL TEMPORARY TABLE TABLENAME (
COL1 VARCHAR2(10),
COL2 NUMBER
) ON COMMIT PRESERVE(DELETE) ROWS ;

 

这种临时表不占用表空间,而且不同的SESSION之间互相看不到对方的数据
在会话结束后表中的数据自动清空,如果选了DELETE ROWS,则在提交的时候即清空数据,PRESERVE则一直到会话结束

在Oracle8i中,可以创建以下两种临时表:
(1)会话特有的临时表
CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification>)
ON COMMIT PRESERVE ROWS;

(2)事务特有的临时表
CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification>)
ON COMMIT DELETE ROWS;

CREATE GLOBAL TEMPORARY TABLE MyTempTable
所建的临时表虽然是存在的,但是你试一下insert 一条记录然后用别的连接登上去select,记录是空的,明白了吧,我把下面两句话再贴一下:
–ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行)
–ON COMMIT PRESERVE ROWS 说明临时表是会话指定,当中断会话时ORACLE将截断表。
冲突的问题更本不用考虑.

临时表只是保存当前会话(session)用到的数据,数据只在事务或会话期间存在。

通过CREATE GLOBAL TEMPORARY TABLE命令创建一个临时表,对于事务类型的临时表,
数据只是在事务期间存在,对于会话类型的临时表,数据在会话期间存在。

会话的数据对于当前会话私有。每个会话只能看到并修改自己的数据。DML锁不会加到
临时表的数据上。下面的语句控制行的存在性。

● ON COMMIT DELETE ROWS 表名行只是在事务期间可见

● ON COMMIT PRESERVE ROWS 表名行在整个会话期间可见

可以对临时表创建索引,视图,出发器,可以用export和import工具导入导出表的
定义,但是不能导出数据。表的定义对所有的会话可见。

例如:

CREATE GLOBAL TEMPORARY TABLE TEMP_TAB1(
table_name VARCHAR2(20),
primary_key VARCHAR2(100),
field VARCHAR2(1000))
ON COMMIT PRESERVE ROWS;

 

 

CREATE GLOBAL TEMPORARY TABLE TEMP_TAB2(
table_name VARCHAR2(20),
primary_key VARCHAR2(100),
field VARCHAR2(1000))
ON COMMIT DELETE ROWS;

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110235.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 五大常用算法总结_常用的基本算法有

    五大常用算法总结_常用的基本算法有引言据说有人归纳了计算机的五大常用算法,它们是贪婪算法,动态规划算法,分治算法,回溯算法以及分支限界算法。虽然不知道为何要将这五个算法归为最常用的算法,但是毫无疑问,这五个算法是有很多应用场景的,最优化问题大多可以利用这些算法解决。算法的本质就是解决问题。当数据量比较小时,其实根本就不需要什么算法,写一些for循环完全就可以很快速的搞定了,但是当数据量比较大,场景比较复杂的时候,编写for循环

    2025年6月3日
    2
  • 2020-09-27

    2020-09-27

    2022年2月17日
    45
  • tcp攻击脚本_防御的意思

    tcp攻击脚本_防御的意思目录相关原理(tcp基础)实例演示关于防御措施相关原理(tcp基础)三次握手:TCP是基于IP网络层之上的传输层协议,用于端到端的可靠的字节流传输。过程:1.C向S发送连接请求,标记位SYN设为1,且随机设置序列号seq2.S返回确认消息,ACK设为seq+1,标记位SYN设为1,随机序列号seq3.C返回确认消息,ACK设为seq+1四次挥手:四次挥手指正常连接中断的情况。过程:…

    2022年10月1日
    2
  • WIN10环境JAVA的JDK环境变量设置教程

    WIN10环境JAVA的JDK环境变量设置教程大一时装JDK时对着网上的摆弄了好久,然后自己出了个图文教程在同学间流传甚广,最近同学帮大一的问我怎么装,此处将当时的教程完整的复制过来。希望能解决你们的问题。应用JAVA程序之前必须设置系统变量,就像每个生物都得有适合自己生存的环境一样,只有设置成功了才能成功运行JAV软件建议按照系统默认路径安装到C盘,如果你是高手就算了。系统变量设置步骤:(以下图片教…

    2022年7月8日
    23
  • 超强物联网架构解读图_物联网的体系架构是什么

    超强物联网架构解读图_物联网的体系架构是什么oT科技物语的小伙伴们,我是ICE青,特别喜欢金庸大师作品的ICE青。因此,本期开始我将为大家介绍《物联网平台之独孤九剑》,看万物互联的世界何以笑傲江湖——「总决式」:物联网概述和架构「破剑式」:OceanConnect物联网平台概述「破刀式」:OceanConnect物联网特性概述「破枪式」:业务流程「破鞭式」:北向API「破索式」:南向Profile「破掌式」:…

    2022年9月17日
    5
  • Python核心编程(第二版)PDF「建议收藏」

    Python核心编程(第二版)PDF「建议收藏」Python核心编程(第二版)目录第1部分 Python核心第1章 欢迎来到Python世界1.1 什么是Python1.2 起源1.3 特点1.3.1 高级1.3.2 面向对象1.3.3 可升级

    2022年7月3日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号