一、 会话临时表

--创建会话临时表

create global temporary table tmp_user_session(user_id int, user_name varchar2(20),user_email varchar2(30))

--这句表示 当事务提交时 保留数据

on commit preserve rows

--向临时表中插入数据

insert into tmp_user_session(user_id,user_name,user_email) values(1,'孙业宝','948987600@qq.com')

insert into tmp_user_session(user_id,user_name,user_email) values(1,'王丽莎','934560@qq.com')

commit

--查询 有数据

select * from tmp_user_session

--重新打开 一个sql窗口 再次查询 则无数据了 select * from tmp_user_session 说明此插入的数据 只为本窗口会话存在

二、创建事务临时表

--创建事务临时表

create global temporary table tmp_users_transaction (user_id int,user_name varchar2(20),user_email varchar2(30))

--这句表示 当事务提交时 删除数据

on commit delete rows

--向临时表中插入数据

insert into tmp_users_transaction(user_id,user_name,user_email) values(1,'孙业宝','948987600@qq.com');

insert into tmp_users_transaction(user_id,user_name,user_email) values(1,'王丽莎','934560@qq.com')

--查询 有数据

select * from tmp_users_transaction

--提交下语句 或者回滚事务 rollback  再次查询   select * from tmp_users_transaction  就没有数据了 因为事务临时表 就是在事务提交时 就数据清空了

commit;rollback;

--查看临时表的表空间,其实他们的表空间为空

select table_name, tablespace_name

from user_tables

where table_name = 'T_USERS'

or table_name = 'TMP_USERS_SESSION'

or table_name = 'TMP_USERS_TRANSACTION'

临时表的应用场景

1.大表分割

众所周知,为表创建合适的索引可以在很大程度上提高数据查询的速度。但是当某个表的数据量相当大,例如数据量为亿级时,那么创建索引将会花费大量的时间,而且,查询大的索引表,与直接查询数据表相比,在性能上几乎没有任何优势,此时,一个常用的方法就是分割大表,例如:将大表分割为多个小的临时表,然后对这些小表进行相应操作,最后对所有查询结果进行综合处理。

2.解决并行问题

当多个进程同时对某张表进行操作时,往往会出现并行问题。

3.作为数据缓存

在程序段,可能需要对若干数据进行复杂运算。此时,可以创建一个临时表,并将这些数据存储在临时表中。因为可以像操作普通表一样操作临时表,这样,许多函数和sql语句都可以用来处理这些数据。

三、特殊表 dual

特殊表 dual 该表是每个数据库创建时默认生成的。该表仅有一列一行,在数据库开发中有着非常特殊的作用。

1.分析dual表 执行

select * from dual可以看出dual 只有一行一列。

2. dual表的应用场景

在oracle数据库中,dual表实际上是作为一个虚表的概念存在的。也就是说dual表存在的意义并非为了存储数据。更多的时候,dual表用来作为 from的源表。因为oracle的查询语句必须满足 select * from table name 语法格式,其中的from所指向的表是必须的,所以即使某些数据不属于任何表,也必须有一个强制的表名。dual表即可用做这个强制的虚表。

--查看dual表结构

select * from dual

--查询数据当前日期

select sysdate from dual

--计算结果

select 3*4-3 as results ,8-9 as plus from dual

Oracle学习系列1-7

Oracle学习系列1 两个服务必须启动: OracleOraDb10g*TNListener 和 OracleService*** 使用sqlplusw先进行环境的设置 set linesize 3 ...

Oracle学习系列6

Oracle学习系列6 ************************************************************************************ 删除约 ...

Oracle学习系列4

Oracle学习系列4 ************************************************************************************ 数据库 ...

Java命令学习系列(二)——Jstack

Java命令学习系列(二)——Jstack 2015-04-18 分类:Java 阅读(512) 评论(0) jstack是java虚拟机自带的一种堆栈跟踪工具. 功能 jstack用于生成java虚 ...

SQL Sever 学习系列之二

SQL Sever 学习系列之二 SQL Server 学习系列之一(薪酬方案+基础) 四.有关时间输出问题      select GETDATE() 日期时间    ----显示为:2013-07 ...

Oracle学习系列7

Oracle学习系列7 ************************************************************************************ 关联表 ...

Oracle学习系列5

Oracle学习系列5 ************************************************************************************ ,掌握 ...

Oracle学习系列3

Oracle学习系列3 ************************************************************************************ 多表查 ...

CAN总线学习系列之二——CAN总线与RS485的比较

CAN总线学习系列之二——CAN总线与RS485的比较 上 一节介绍了一下CAN总线的基本知识,那么有人会问,现在的总线格式很多,CAN相对于其他的总线有什么特点啊?这个问题问的好,所以我想与其它总线 ...

随机推荐

java使用JDBC连接数据库

1.下载connectors/j: 地址:http://www.mysql.com/downloads/connector/j/ 选择 到此页面点击“No,thanks……" 若使用Java ...

Delphi通过ICMP检测与远程主机连接

{ ping IP 地址(返回false or true) 2015-03-23} function PingHost(HostIP: String): Boolean; type PIPOption ...

demo_02 less

html 中的代码

&l ...

POJ 1018 Communication System(贪心)

Description We have received an order from Pizoor Communications Inc. for a special communication sy ...

Visio打开或取消箭头的自动吸附和自动连接

在用Visio画图时Visio的自动对齐.自动连接.自动吸附功能确实能带了很多便利.但在画连接线时,Visio总是自动连接箭头与图形的固定节点,想要微调一下连接位置,就显得很不方便,需要关闭自动连接功 ...

Postgres全文搜索功能

当构建一个Web应用时,经常被要求加上搜索功能.其实有时候我们也不知道我要搜索个啥,反正就是要有这个功能.搜索确实很重要的特性,这也是为什么像Elasticsearch和Solr这样基于Lucene的 ...

非递归并查集——zoj4109

卡常卡的我难受 非递归并查集好像写起来常数小一点 int F[maxn]; int Find(int x){ int r = x; while (F[r] != r)r = F[r]; int i = ...

[SQLSERVER] [GPO] Add the Log on as a service Right to an Account

Add the Log on as a service Right to an Account Updated: August 8, 2008 Applies To: Windows Server 2 ...

outer的使用

outer就是一个标签,java语言中根本没有此关键字,因此outer也可以用其它的词来代替 java中的标签就是一个紧跟着英文冒号(:)的标识符.与其他语言不同的是,java中的标签只有放在循环语言 ...

HTTP-POST

POST方式:用来向目的服务器发出请求,要求它接受被附在请求后的实体,并把它当作请求队列中请求URI所指定资源的附加新子项,Post被设计成用统一的方法实现下列功能: 1:对现有资源的解释: 2:向电 ...

oracle用dual创建临时表,Oracle 学习系列之二(会话与事务级临时表和dual表 )相关推荐

  1. oracle 会话 临时表,Oracle 学习系列之二(会话与事务级临时表)

    --创建会话临时表 create global temporary table tmp_user_session(user_id int, user_name varchar2(20),user_em ...

  2. Java命令学习系列(二)——Jstack

    转载自 Java命令学习系列(二)--Jstack jstack是java虚拟机自带的一种堆栈跟踪工具. 功能 jstack用于生成java虚拟机当前时刻的线程快照.线程快照是当前java虚拟机内每一 ...

  3. 邮箱的创建及配置:Exchange2003系列之二

                  Exchange2003学习系列之二:邮箱的创建及配置 我们在上一篇文章中介绍了如何进行Exchange2003的安装,本文中我们介绍如何在Exchange2003中进行邮 ...

  4. 强化学习系列文章(二十七):VPG+Beta分布在CartPoleContinuous环境中的应用

    强化学习系列文章(二十七):VPG+Beta分布在CartPoleContinuous环境中的应用 在第七篇笔记(https://blog.csdn.net/hhy_csdn/article/deta ...

  5. 强化学习系列文章(二十三):AirSim Python API图像与图像处理

    强化学习系列文章(二十三):AirSim Python API图像与图像处理 参考网址:https://microsoft.github.io/AirSim/image_apis/#segmentat ...

  6. libev学习系列之二:libev下载

    libev学习系列之二:libev下载 版本说明 版本 作者 日期 备注 0.1 ZY 2019.5.31 初稿 目录 文章目录 libev学习系列之二:libev下载 版本说明 目录 官网 GitH ...

  7. 强化学习系列文章(二十八):进化强化学习EvoRL的预实验

    强化学习系列文章(二十八):进化强化学习EvoRL的预实验 最近在研究强化学习解决离散空间的组合优化问题时,接触到了很多进化算法,实际体验也是与RL算法不相上下.进化算法也常用于优化神经网络的参数,C ...

  8. oracle视图如何创建索引,ORACLE 创建视图索引序列

    /* 视图View 视图是从若干基本表和(或)其他视图构造出来的表 视图存放的都是查询语句,并没有真实的数据 虚表 作用 限制对数据的操作 复杂查询变简单 提供相同数据的不同显示 UNION ALL ...

  9. oracle数据库怎么创建数据库 oracle数据库工作流程

    oracle数据库怎么创建数据库 数据库用户的创建.权限的分配 数据库安装完成后,有两个系统级的用户: system 默认密码为:manager sys 默认密码为:change_on_install ...

最新文章

  1. qstring 属于元数据类型吗_数据仓库的“元数据管理”
  2. 【转】Angular学习总结--很详细的教程
  3. 深入理解c#(第三版)(文摘)
  4. oracle数据同步实例
  5. 一个批量停止和启动服务的工具
  6. 《R语言实战》第6章
  7. Office无法打开超链接地址问题
  8. 全网首个OpenPrompt尝鲜报告:Prompt研究者必备实验利器
  9. 这份1307页Android面试全套真题解析,源码+原理+手写框架
  10. 正则表达式matlab,正则表达式中一个word的匹配 @MATLAB - 优秀的Free OS(Linux)版 - 北大未名BBS...
  11. FFMPEG解码多线程
  12. mysql 二维数组下标_php二维数组指定下标排序
  13. 前端知识整理 CSS盒模型
  14. [轉]MS SQL 显示表结构
  15. 四川专利代理机构列表
  16. 第一财经周刊:硅谷就是这样
  17. 作品发布:挖金子修订版源码和文档
  18. 零基础自学计算机方法大全
  19. python生成随机中文_随机字生成器-Python
  20. 网页Loding效果的实现

热门文章

  1. validator-tools
  2. Segment,Packet,Frame等区别与联系
  3. Adobe photoshop工具箱工具名称中英文对照
  4. DNS服务器and路由器与交换机
  5. Residual Reinforcement Learning for Robot Control
  6. 【硬核扫盲】到底什么是相干光通信?
  7. AR眼镜进入发展热潮,替代手机还有多远?​
  8. 管家婆软件如何管理商品的多种型号?
  9. 【SystemC】(二)第一个SystemC程序
  10. 有限体积法(6)——离散格式的特性