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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java 新建项目_java怎么新建项目?java新建项目实操案例

    java 新建项目_java怎么新建项目?java新建项目实操案例java新建项目是学习java最基础的实操了,最近有小伙伴想知道java怎么新建项目?那么下面我们就来给大家讲解一下java新建项目的方法。1、选择“file(文件)”|“new(新建)”|“JavaProject(Java项目)”命令,打开“NewJavaProject(新建Java项目)”对话框。2、设置“Projectname(项目名)”为HelloJava,选中“Usedefau…

    2022年7月7日
    29
  • PDO 用法学习「建议收藏」

    PDO 用法学习「建议收藏」PDO:phpdataobject 数据库访问抽象层 基于驱动: 1、安装扩展php_pdo.dll 2、安装驱动php_pdo_mysql.dlllinux编译时参数:–with-pd

    2022年8月5日
    4
  • 基于Docker的Kafka集群搭建

    基于Docker的Kafka集群搭建1.pulldocker,在机器上下载最新版本的kafka和zookeeper镜像,这里使用的是wurstmeister的镜像dockerpullwurstmeister/kafkadockerpullwurstmeister/zookeeper2.装好的docker镜像3.启动zk容器Dockerrun–d–namezookeeper–p2181:…

    2022年6月9日
    50
  • linux 安装_weblogic部署Linux

    linux 安装_weblogic部署Linux下载直接去官网下:https://redis.io/download/#redis-downloads快速访问:redis官网通过xftp上传到Linux服务器上,这个应该大家都会。解压文件三、安装C++环境等待下载安装结束,验证:安装成功如图:修改以下两个配置项:1、配置后台运行2、配置允许远程访问文件夹目录下运行到此就运行成功啦~如果在其他服务器访问不到redis,大概率是防火墙没有开放6379端口,解决如下:完毕,谢谢~…

    2022年10月4日
    0
  • 搭建jenkins实现自动化部署微服务_自动化部署平台搭建

    搭建jenkins实现自动化部署微服务_自动化部署平台搭建一、安装jenkins1、添加yumrepos,然后安装注:如果上边的执行成功就不用再执行这两行了注:如果网络不好需要重试几次2、如果未安装java还需安装java3、启动和停止如果启动

    2022年8月1日
    0
  • win7下IIS的安装和配置

    win7下IIS的安装和配置

    2021年10月8日
    47

发表回复

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

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