举例:

create global temporary table Classes

(Class_id Number(5),

Class_Name Varchar2(8),

Class_Memo varchar2(200)) on Commit delete Rows ;

3) 两中类型临时表的区别

会话级临时表采用 on commit preserve rows ;而事务级则采用 on commit delete rows ;用法上,会话级别只有当会话结束临时表中的数据才会被截断,而且事务级临时表则不管是 commit 、 rollback 或者是会话结束,临时表中的数据都将被截断

4 )什么时候使用临时表

1 )、当某一个 SQL 语句关联的表在 2 张及以上,并且和一些小表关联。可以采用将大表进行分拆并且得到比较小的结果集合存放在临时表中

2 )、程序执行过程中可能需要存放一些临时的数据,这些数据在整个程序的会话过程中都需要用的等等。

3 . 例子:略

4 .临时表的不足之处

1 )不支持 lob 对象,这也许是设计者基于运行效率的考虑,但实际应用中确实需要此功能时就无法使用临时表了。

2 )不支持主外键关系

所以,由于以上原因,我们可以自己创建临时表,以弥补 oracle 临时表的不足之处

上面的都是本人经过测试的,但下面是在网上搜索到的方法,本人具体没有测试过,不过觉得可行性很强,有时间测试下。

创建方法:

1 、以常规表的形式创建临时数据表的表结构,但要在每一个表的主键中加入一个 SessionID 列以区分不同的会话。(可以有 lob 列和主外键)

2 、写一个用户注销触发器,在用户结束会话的时候删除本次会话所插入的所有记录 (SessionID 等于本次会话 ID 的记录 ) 。

3 、程序写入数据时,要顺便将当前的会话 ID(SessionID) 写入表中。

4 、程序读取数据时,只读取与当前会话 ID 相同的记录即可。

功能增强的扩展设计:

1 、可以在数据表上建立一个视图,视图对记录的筛选条件就是当前会话的SessionID 。

2 、数据表中的SessionID 列可以通过Trigger 实现,以实现对应用层的透明性。

3 、高级用户可以访问全局数据,以实现更加复杂的功能。

扩展临时表的优点:

1 、实现了与Oracle 的基于会话的临时表相同的功能。

2 、支持SDO_GEOMETRY 等lob 数据类型。

3 、支持表间的主外键连接,且主外键连接也是基于会话的。

4 、高级用户可以访问全局数据,以实现更加复杂的功能。

22/2<12

oracle临时表的优点,详解Oracle临时表的几种用法和意义相关推荐

  1. oracle中调试存储过程,详解Oracle调试存储过程

    详解Oracle调试存储过程 一 调试关键步骤 1.在要调试的存储过程右键,选择编辑以进行调试,截图如下: 2.点击小瓢虫,弹出调试窗口,截图如下: 3.输入7839员工编号,点击确认,进行调试,截图 ...

  2. oracle dg切换步骤,详解Oracle dg 三种模式切换

    oracle dg 三大模式切换 =================================== 1  最大性能模式MAXIMUM PERFORMANCE   ------默认模式 ===== ...

  3. oracle中imp命令详解,ORACLE EXPDP IMPDP数据导入导出命令详解及同EXP IMP命令详细对照...

    ORACLE EXPDP IMPDP数据导入导出命令详解及同EXP IMP 命令详细对比 一.EXPDP IMPDP EXP IMP 可以实现 1.可以实现逻辑备份和逻辑恢复 2.可以在数据库用户之间 ...

  4. oracle中的柱状图,详解Oracle中XMI开发UML图表技术

    XML是面向机器的数据格式,虽然手工编写困难,但处理效率高.当 XML(扩展标记语言)于 1998 年 2 月被引入软件工业界时,它给整个行业带来了一场风暴.有史以来第一次,这个世界拥有了一种用来结构 ...

  5. 11g oracle xe启动_详解Oracle等待事件的分类、发现及优化

    一.等待事件由来 大家可能有些奇怪,为什么说等待事件,先谈到了指标体系.其实,正是因为指标体系的发展,才导致等待事件的引入.总结一下,Oracle的指标体系,大致经历了下面三个阶段: 以命中率为主要参 ...

  6. oracle改类型吗,详解Oracle修改字段类型方法总结

    最近学习了Oracle修改字段类型方法,留做记录. 有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter tab ...

  7. oracle select 变量_详解oracle数据库优化参数--cursor_sharing

    概述 大家都知道硬解析,软解析对数据库sql的执行效率影响是很大的.在Oracle中,用户输入的SQL语句要进行所谓的Parse解析过程,用于生成执行计划,这也就是Query Optimizer的主要 ...

  8. oracle flash_back oracle闪回技术详解,oracle flashback 闪回技术实例

    oracle flashback 闪回技术实例 相关操作 1.DBA必须设定undo保持力足够大以能够重构需要闪回的数据 ALTER SYSTEM SET UNDO_RETENTION=; secon ...

  9. oracle的uml图,详解Oracle中XMI开发UML图表技术

    描述 XML是面向机器的数据格式,虽然手工编写困难,但处理效率高.当 XML(扩展标记语言)于 1998 年 2 月被引入软件工业界时,它给整个行业带来了一场风暴.有史以来第一次,这个世界拥有了一种用 ...

最新文章

  1. OKR 落地需要相关工具的辅助吗?
  2. 综述 | 语言分析技术在社会计算中的应用
  3. PostgreSQL 数据访问 offset 的质变 case
  4. CodeForces - 850C Arpa and a game with Mojtaba(博弈+sg函数)
  5. interrupt、interrupted 、isInterrupted 区别
  6. vue复制html表格单列,vue表格含有一列多选框,如何获取被选中的行的数据?
  7. 通过yum安装Nagios
  8. 移动国家号(MCC)
  9. AD模式下出现NetLogon 5781错误的对策
  10. Js参数RSA加密传输,jsencrypt.js的使用
  11. JSP毕业设计源码带论文和答辩、大作业、实例程序源码下载合集【10套】
  12. delphi教程 | 第一个程序
  13. amazeui PHP,amazeui页面分析之登录页面
  14. App上实现用户手写签名保存为透明PNG格式图片
  15. 让校园生活更轻松的十大Android应用程序
  16. 链接提交提示安全验证,网站辅助快排不行了吗?
  17. 微信朋友圈营销如何做好头像_昵称_签名_背景基础设置?
  18. 赛博朋克式炼狱:电子垃圾在印度
  19. 七牛云直播推流php,七牛云直播Android推流端之开速开发
  20. 智能/傻瓜交换机、光纤交换机、普通交换机的区别

热门文章

  1. 视频容器格式与编码格式简介
  2. SQLAlchemy 报错 NotSupportedError: Authentication plugin ‘caching_sha2_password’ is not supported 解决方法
  3. IDEA如何设置鼠标滚轮调整字体大小
  4. 面试必会系列 - 1.7 JVM 内存模型
  5. Storage API简介和存储限制与逐出策略
  6. CNN和RNN中如何引入BatchNorm
  7. Leecode02-两数相加——Leecode热题100道系列
  8. ValueError: XPath error: Invalid expression in //*[@id=‘info‘]/div/p[1]/test()_Python系列学习笔记
  9. 【最新合集】编译原理习题(含答案)_1 绪论_MOOC慕课 哈工大陈鄞
  10. 两个有序链表序列的交集 (20分)(最佳解法)