1:先分别建立两张表

sql> CREATE GLOBAL TEMPORARY TABLE tmp_session on commit preserve rows as select * from t where 1= 0; --会话结束,临时表中的数据就会消失

sql>CREATE GLOBAL TEMPORARY TABLE tmp_transaction on commit delete rows as select * from t where 1 = 0;-- 事务完成,临时表中的数据就会消失

2:分别在tmp_session与tmp_transaction中插入数据

如图:

3:查看tmp_session与tmp_transaction中的数据

4:commit之后

此时的tmp_transaciton记录已经消失,tmp_session记录未消失

5:停止会话之后

此时tmp_session与tmp_transaction中的内容都消失

由此可以得出结论:

on commit delete rows事务完成,临时表中的数据就会消失。

on commit preserve rows会话结束,临时表中的数据就会消失。

注意:创建了临时表之后,对于临时表的定义是永久的存放在数

据库中的

关于on commit preserve rows与on commit delete rows的测试的更多相关文章

  1. ON COMMIT PRESERVE ROWS

    定义声明式全局临时表的每个会话拥有自己的独特的临时表描述.当会话终止时,表行和临时表描述均会被删除. 有如下选项,可控制commit后临时表的状态: ON COMMIT DELETE ROWS:在执行 ...

  2. 临时表 on commit delete rows 与 on commit preserve rows 的区别

    -- 事务级临时表:提交时删除数据 create global temporary  table tmp_table1 (        x     number ) on commit delete ...

  3. 24. (ora-01410无效的rowid)临时表 on commit delete rows 与 on commit preserve rows 的区别

    ora-01410无效的rowid解决方式: 把临时表空间改成会话级别的就可以了,即把临时表的创建选项由on commit delete rows改为on commit preserve rows,就 ...

  4. Oracle临时表on commit preserver rows和on commit delete rows区别

    Oracle 临时表:在 Oracle 中创建一张表,这个表不用于其他的什么功能,主要用于自己的软件系统一些特有功能才用的,而当你用完之后表中的数据就没用了. Oracle 的临时表创建之后基本不占用 ...

  5. [转]git commit之后,想撤销commit

    本文转自:http://www.cnblogs.com/lfxiao/p/9378763.html 写完代码后,我们一般这样 git add . //添加所有文件 git commit -m &quo ...

  6. git commit之后,想撤销commit

    原文 写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "本功能全部完成" 执行完commit后,想撤回commit,怎么办? 这样凉拌: ...

  7. Git 合并多次 commit 、 删除某次 commit

    Git 合并多次 commit 有时候在一个分支的多次意义相近的 commit,会把整个提交历史搞得很混乱,此时可以将一部分的 commit 合并为一个 commit,以美化整个 commit 历史, ...

  8. git使用情景2:commit之后,想撤销commit

    ================实际操作============================== 提交到git上撤回 git reset head^1 提交到本地 撤回 git reset --s ...

  9. git 几个commit点合并成一个commit点

    在用git做版本控制器的时候,经常会遇到以下情况: 1.在做1个功能的时候,你自己觉得代码没问题了,就本地commit,然后提交代码,在gitlab上发起和并请求,老大看完之后,觉得你还有修改的地方, ...

随机推荐

  1. github上关于iOS的各种开源项目集合(转)

    UI 下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITable ...

  2. 专业英语词汇(Java)

    abstract (关键字)             抽象 ['.bstr.kt] access                            vt.访问,存取 ['.kses]‘(n.入口, ...

  3. python Count类(转)

    1.collections模块 collections模块自Python 2.4版本开始被引入,包含了dict.set.list.tuple以外的一些特殊的容器类型,分别是: OrderedDict类 ...

  4. 疯狂JAVA——第三章 数据类型和运算符

    3.1注释 1.单行注释 2.多行注释 3.文档注释——文档注释以斜线后紧跟两个星号(/**)开始,以星号后紧跟一个斜线结束(*/),中间部分都是文档注释,会被提取到API文档中. API文档类似于产 ...

  5. TOMCAT下面发布项目的4种方式

    摘要 TOMCAT下面发布项目的4种方式,可用于在平时资料查询. 第一种方法: 将web项目文件件拷贝到webapps 目录中:或者直接通过Eclipse发布到Tomcat上. 第二种方法: 在tom ...

  6. Django搭建数据库

    ---恢复内容开始--- 一.form表单提交数据的三个要素 1.form标签必须要有action个和method属性 2.所有获取用户输入的标签必须放在form表单中,必须要有name属性 3.必须 ...

  7. Unity3d dll 热更新 基础框架

    APK包装到用户手机上后,代码如何更新,总不能全用LUA吧?特别是代码非常多的战斗手游 昨晚上有了dll 热更新的想法,今天做了一天的实验,也遇到些坑,这里总结下 工作环境: U3D5.3.2 + v ...

  8. TZOJ 4855 排座椅(贪心)

    描述 上课的时候总有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来后,只有有限的D对同学上课时会交头接耳.同学们在教室 ...

  9. 【校招面试 之 C/C++】第28题 C++ 内存泄漏的检查

    1.memwatch的使用 (1)首先去官网上下载源码: http://www.linkdata.se/sourcecode/memwatch/ 解压得到memwatch.c以及memwatch.h两 ...

  10. JavaScript的数据类型和运算符总结

    1.定义变量用关键字 var var a = 1 var b = "abc" 2.javascript脚本每一行要用分号隔开 3.javascript的代码一般放在html代码的最 ...