博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle的全局临时表
阅读量:7062 次
发布时间:2019-06-28

本文共 1935 字,大约阅读时间需要 6 分钟。

hot3.png

基于会话的全局临时表(on commit preserve rows)
基于事务的全局临时表(on commit delete rows)
set autotrace off;
(1)创建表
//创建临时会话表
create global temporary table tmp_session1 on commit preserve rows as select * from dba_objects where 1=0;
select a.name,b.value from v$statname a join v$mystat b on a.statistic#=b.statistic# where a.name='redo size';
NAME                                      VALUE
---------------------------------------------------------------- ----------
redo size                                 100496
//创建事务临时表
create global temporary table tmp_trans1 on commit delete rows as select * from dba_objects where 1=0;
select a.name,b.value from v$statname a join v$mystat b on a.statistic#=b.statistic# where a.name='redo size';
NAME                                      VALUE
---------------------------------------------------------------- ----------
redo size                                  21912
(2)插入数据
//向临时会话表插入数据
insert into tmp_session1 select * from dba_objects;
select a.name,b.value from v$statname a join v$mystat b on a.statistic#=b.statistic# where a.name='redo size';
NAME                                      VALUE
---------------------------------------------------------------- ----------
redo size                                 512820
//向临时事务表插入数据
insert into tmp_trans1 select * from dba_objects;
select a.name,b.value from v$statname a join v$mystat b on a.statistic#=b.statistic# where a.name='redo size';
NAME                                      VALUE
---------------------------------------------------------------- ----------
redo size                                 434236
测试:
//在事务上
select count(*) from tmp_trans;
  COUNT(*)
----------
     72539
commit;
select count(*) from  tmp_trans;
  COUNT(*)
----------
     0
//在会话上
select count(*) from tmp_session1;
  COUNT(*)
----------
     72537
commit;
select count(*) from tmp_session1;
  COUNT(*)
----------
     72537
sql guoyf/guoyf
Connected.
Session altered.
LISN@orcl>select count(*) from tmp_session1;
select count(*) from tmp_session1;
  COUNT(*)
----------
       0
基于会话的临时表:
全局临时表特征:
(1)基于会话的全局临时表特征:基于会话的全局临时表则是session链接退出后,临时记录自动删除,无需手动去操作,针对不同session访问全局临时表,看到的结果是不同。
(2)基于事务的全局临时表在commit或者session链接退出后,临时表记录自动删除。

转载于:https://my.oschina.net/u/1458120/blog/225673

你可能感兴趣的文章
PHPcms怎么调用二级栏目
查看>>
中小型网络构建案例——防火墙的应用
查看>>
《Linux就该这么学》 第3章 管道符、重定向与环境变量
查看>>
Okhttp3使用
查看>>
交换的江湖
查看>>
ubuntu16.04 双网卡绑定
查看>>
lLinux学习笔记之apache及论坛的发布
查看>>
上三角
查看>>
C# 多线程学习系列二
查看>>
简单词法分析器的实现
查看>>
9-14NOIP模拟赛总结
查看>>
进程中的信号量
查看>>
Docker 快速入门教程
查看>>
centos7 xfs 文件系统配置quota 用户磁盘配额
查看>>
2019-1-5吃货联盟作业
查看>>
poj 1836 -- Alignment
查看>>
安卓中自定义并使用Volley框架请求网络
查看>>
Linux运维笔记-后端运行脚本
查看>>
Java数据类型、变量、运算符、语句。
查看>>
格式化输出函数:printf 那些事 (C语言)
查看>>