Oracle 临时表详解(temporary table)
文章目录
- 1 概述
- 2 分类
- 2.1 事务级临时表
- 2.2 会话级临时表
1 概述
1. 作用:用来 '临时' 存储数据(1) 当一个事务或会话结束的时候,这个临时表中的 '数据' 会被数据库自动清空(2) 但 '表结构' 依旧保留2. 分类: '生命周期的不同'(1) 事务级临时表: on commit delete rows; commit 时 '删除' 记录(默认)(2) 会话级临时表: on commit preserve rows; commit 时 '保存' 记录,结束会话时 '删除' 记录3. 注意(1) 临时表处理的效率高于普通表<1> 不记录 '日志'<2> 只能当前用户使用,不会产生 '锁'(2) 和普通表操作方式一样4. 以下测试中,创建临时表后,信息查询select t.owner,t.table_name,t.tablespace_name, -- 所属表空间t.logging, -- 是否记录日志t.duration --生命周期from dba_tables twhere t.owner = 'SCOTT'and t.table_name in ('TRANSACTION_TEMP', 'SESSION_TEMP');
2 分类
2.1 事务级临时表
create global temporary table transaction_temp (tid number(3),tname varchar2(30)
) on commit delete rows; -- on commit delete rows 可省略(默认)
验证:事务中,数据可以查询,事务结束后(commit、rollback)后,数据被清空
insert into transaction_temp(tid, tname) values(1, 'a');
insert into transaction_temp(tid, tname) values(2, 'b');
-- commit;select * from transaction_temp;
查询截图:
2.2 会话级临时表
create global temporary table session_temp (tid number(3),tname varchar2(30)
) on commit preserve rows;
验证:commit 时,保存数据至表中,会话结束后,数据被清空
insert into session_temp(tid, tname) values(1, 'a');
insert into session_temp(tid, tname) values(2, 'b');
commit;select * from session_temp;
结束会话有以下办法:(上述测试,立马就结束了,执行很快哦)
1. 自然结束(执行完成) -- sql_text => begin :id := sys.dbms_transaction.local_transaction_id; end;select t1.sid, t1.serial#, t2.sql_text, t2.actionfrom v$session t1, v$sql t2where t2.sql_id = t1.prev_sql_idand t1.username = 'SCOTT';2. 手动删除(1) alter system kill session 'sid,serial#';
再新建一个会话,查询:数据被清空了
Oracle 临时表详解(temporary table)相关推荐
- Oracle - 临时表(GLOBAL TEMPORARY TABLE)
http://aofengblog.blog.163.com/blog/static/6317021200951664351836/ Oracle - 临时表(GLOBAL TEMPORARY TAB ...
- Oracle 表详解(table)
文章目录 1 概述 2 语法 2.1 创建表 create table 2.2 修改表 alter table 2.3 删除表 drop table 2.4 清空表 truncate table 2. ...
- Oracle 临时表 (Gobal Temporary Table)
提问,插入数据之后,COMMIT,数据是否一定会在表里呢? 回答 一定会在.我认为没有错 回答 可能会在.也没有错 → 没在就一定是被删了,那么有一种表,会在Commit时,清空所有数据. 刚才说的 ...
- Oracle 错误代码详解
Oracle 错误代码详解及解决方式–ORA ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常. ORA-00017: 请求会话以设置跟踪事 ...
- Oracle 冷备份详解【实战案例】
Oracle 冷备份详解 --准备工作 select * from v$database; select file_name from dba_data_files; create tablespac ...
- oracle里面asm的作用,Oracle ASM 详解
Oracle ASM 详解 ASM:Automatic Storage Management, 是Oracle 主推的一种面向Oracle的存储解决方案, ASM 和 RDBMS 非常相似,ASM 也 ...
- oracle分区表编程,Oracle分区表详解
当前位置:我的异常网» 编程 » Oracle分区表详解 Oracle分区表详解 www.myexceptions.net 网友分享于:2013-10-28 浏览:25次 Oracle分区表详解 ...
- Oracle 存储过程详解(上)
目录 一.存储过程与存储函数的定义 二.创建 / 执行存储过程所需的权限 1.resource权限 2.create.execute procedure权限 三.创建 / 执行存储过程 四.变量与参数 ...
- oracle list 分区详解,ORACLE分区表详解
此文从以下几个方面来整理关于分区表的概念及操作:1.表空间及分区表的概念 2.表分区的具体作用 3.表分区的优缺点 4.表分区的几种类型及操作方法 5.对表分区的维护性操作. (1.) 表空间及分区表 ...
- Oracle translate() 详解+实例
Oracle translate() 详解+实例 一.语法: TRANSLATE(string,from_str,to_str) 二.目的 返回将(所有出现的)from_str中的每个字符替换为to_ ...
最新文章
- HA: Dhanush靶机渗透测试
- iOS设计模式——MVC(Model-View-Controller)
- java z注释过滤_如何编写一个java程序来过滤所有注释行并只打印java编码行?
- MYSQL:MYSQL索引为什么选择B+树?
- HDU1907 ZJU3113
- 注释嵌套注释_注释,无处不在的注释
- java heapsort_排序算法笔记:堆排序 HeapSort in java
- 机器学习笔记七之机器学习诊断
- The operation could not be performed because OLE DB provider SQLNCLI11 for linked server SDSSDFCC...
- AMD ATI Radeon 显卡被曝多个漏洞
- Django-ROM(字段,参数)
- oracle删除重复字段数据库,用Oracle的分析函数删除重复的数据,
- 通过Expression Tree来扩展MVC中的HtmlHelper 和 UrlHelper
- 在线uml画图工具网站
- 算法导论 答案勘误(ing)
- MySQL 中的 repeate() 函数
- go语言:sync.Once的用法
- 专访许鹏:谈C程序员修养及大型项目源码阅读与学习
- 定语从句和同位语重句的区别
- HTML5主体结构元素
热门文章
- 计算机专业英语思维导图
- fw325r没有虚拟服务器,FAST FW325R配置教程
- HTML+css网站设计布局模板
- [SpringBoot]下载excel模板,postman测试接口
- VASP_Si的能带结构计算_步骤整理
- 为解放程序员而生,网易重磅推“场景化云服务”,强势进军云计算市场
- Windows Media Player 播放.WMV文件破解许可证
- UE 编辑器无法保存文件(图表被连接到外部包中的私有对象)
- 你知道全中国有多少个火车站吗?
- 解读——等级保护定级指南