zoukankan      html  css  js  c++  java
  • [转]Oracle DB 临时表

    • 临时表
    • 会话或事务处理结束时会自动清除存储数据
    • 为每个会话提供专用数据存储
    • 可供所有会话使用,而不影响各个会话的专用数据
     
    如果需要存储专用数据以执行某一任务,而且要在执行该任务后,事务处理或会话结束时清除数据,则可以利用临时表。临时表提供了这种功能,这样你不必在其它会话中隐藏数据,也不必在结束时删除所生成的数据。对于某一会话来说,唯一可见的临时表数据是该会话已经插入的数据。
    临时表可专用于事务处理,也可专用于会话。对于专用于事务处理的临时表而言,数据存在于事务处理期间;对于专用于会话的临时表而言,数据存在于会话期间。在这两种情况下,会话插入的数据专用于会话。每个会话仅可查看和修改自己的数据。因此,临时表的数据从不会获得DML 锁
    下列子句控制着行的生存期:
    • ON COMMIT DELETE ROWS :指定插入行的生存期仅为事务处理的持续时间
    • ON COMMIT PRESERVE ROWS :指定插入行的生存期为会话的持续时间
     
     
    • 临时表:注意事项
    • 使用GLOBAL TEMPORARY 子句创建临时表:
    CREATE GLOBAL TEMPORARY TABLE employees_temp
    ON COMMIT PRESERVE ROWS
    AS SELECT * FROM employees;
     
    • 使用TRUNCATE TABLE 命令删除表内容。
    • 在临时表中可创建下列项:
    – 索引
    – 视图
    – 触发器
     
    使用CREATE GLOBAL TEMPORARY TABLE 语句可创建临时表。在临时表中可以创建索引、视图及触发器,还可以使用“Export and Import(导出和导入)”或“Data Pump(数据泵)”导出和导入临时表的定义。但是,即使使用了ROWS 选项,也不会导出数据。
    除了上述已经提到的会导致删除数据的事件,还可以使用TRUNCATE TABLE 命令有效地强制删除数据。使用这个命令可删除所有已插入的数据。使用这个命令比使用DELETE命令更有效。
     
    在临时表中可以创建索引、视图及触发器。
    单击“Create Table: Table Organization(创建表:表组织)页上的“Temporary(临时)”选项,可以使用Enterprise Manager 创建临时表。单击“Continue (继续)”,在下一页中可指定临时表是专用于会话还是专用于事务处理。“Tablespace(表空间)”字段处于禁用状态,因为总是在用户的临时表空间中创建临时表;不能指定其它表空间。
    注:GLOBAL 关键字是基于国际标准化组织(ISO)  在SQL 标准中指定的术语建立的。

    来源:http://blog.csdn.net/rlhua/article/details/13015519

  • 相关阅读:
    【平衡规划】JZOJ4616. 【NOI2016模拟7.12】二进制的世界
    函数中,如何修改形参的默认值
    默认形参在函数定义阶段就已经被赋值,在调用时就可以不用再次赋值了。
    在函数调用时:位置形参、位置实参、关键字实参的特点
    return之为什么能够终止函数,代码演练
    深度理解return具体用法
    函数基础重点掌握内容:创建函数、return返回单个值、return返回多个值、函数名加括号与不加括号的区别
    python之encode和decode编码
    python利用setsockopt获得端口重用
    python并发之多进程
  • 原文地址:https://www.cnblogs.com/gispf/p/3760490.html
Copyright © 2011-2022 走看看