• Temporary Tables临时表


    1简介
    ORACLE数据库除了可以保存永久表外,还可以建立临时表temporary tables。这些临时表用来保存一个会话SESSION的数据,
    或者保存在一个事务中需要的数据。当会话退出或者用户提交commit和回滚rollback事务的时候,临时表的数据自动清空,
    但是临时表的结构以及元数据还存储在用户的数据字典中。
    临时表只在oracle8i以及以上产品中支持。
    2详细介绍
    Oracle临时表分为 会话级临时表和事务级临时表。
    会话级临时表是指临时表中的数据只在会话生命周期之中存在,当用户退出会话结束的时候,Oracle自动清除临时表中数据。
    事务级临时表是指临时表中的数据只在事务生命周期中存在。当一个事务结束(commit or rollback),Oracle自动清除临时表中数据。
    临时表中的数据只对当前Session有效,每个Session都有自己的临时数据,并且不能访问其它Session的临时表中的数据。因此,
    临时表不需要DML锁.当一个会话结束(用户正常退出 用户不正常退出 ORACLE实例崩溃)或者一个事务结束的时候,Oracle对这个会话的表执行 TRUNCATE 语句清空临时表数据.但不会清空其它会话临时表中的数据.
    你可以索引临时表和在临时表基础上建立视图.同样,建立在临时表上的索引也是临时的,也是只对当前会话或者事务有效. 
    临时表可以拥有触发器.
    3建立临时表
    临时表的定义对所有会话SESSION都是可见的,但是表中的数据只对当前的会话或者事务有效.
    建立方法:
    1) ON COMMIT DELETE ROWS 定义了建立事务级临时表的方法.
    CREATE GLOBAL TEMPORARY TABLE admin_work_area
    (startdate DATE,
    enddate DATE,
    class CHAR(20))
    ON COMMIT DELETE ROWS;

    2)ON COMMIT PRESERVE ROWS 定义了创建会话级临时表的方法.
    CREATE GLOBAL TEMPORARY TABLE admin_work_area
    (startdate DATE,
    enddate DATE,
    class CHAR(20))
    ON COMMIT PRESERVE ROWS;
    EXAMPLE:

  • 相关阅读:
    hadoop 安装、命令
    Spring Boot 中 Web 应用的统一异常处理
    处理json的常用java类库:Json-lib(org.json)、Gson、Jackson、Fastjson
    Spring Boot 项目在 IntelliJ IDEA 中配置 DevTools 实现热部署(macOS 系统)
    spring boot 项目文件结构
    3种web会话管理方式:基于server端session方式、cookie-based方式、token-based方式
    软件行业术语
    spring boot中,jar包、war包的区别
    vue-echarts-v3 使用
    Map 的营救;使对象属性有顺序
  • 原文地址:https://www.cnblogs.com/lvxiaowei/p/4285991.html
Copyright © 2020-2023  润新知