`
shmily_zjl
  • 浏览: 8471 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

oracle临时表学习

阅读更多

     工作需要,在写一个系统时需要每天统计数据,因此设计了一个处理统计数据的临时表,为节省空间,设计成oracle临时表。正好学习下ORACLE临时表,结合网上资料,小结一下。

      ORACLE数据库可以建立临时表temporary tables。这些临时表用来保存一个会话SESSION的数据,或者保存在一个事务中需要的数据。当会话退出或者用户提交commit和回滚rollback事务的时候,临时表的数据自动清空,但是临时表的结构以及元数据还存储在用户的数据字典中。
     可以对临时表创建索引,视图,出发器,可以用export和import工具导入导出表的定义,但是不能导出数据。表的定义对所有的会话可见。

     ORACLE临时表有两种:会话临时表,事务临时表。

 

会话临时表  保存当前会话(session)用到的数据,数据会话期间存在,每次提交后ORACLE将截断表(删除全部行),两个不同的session所插入的数据互不相干。
 事务临时表  保存当前事务用到的数据,数据只在事务期间存在,当中断会话时ORACLE将截断表。会话的数据对于当前会话私有,每个会话只能看到并修改自己的数据,DML锁不会加到临时表的数据上。

 

创建会话临时表:

CREATE GLOBAL TEMPORARY TABLE <TABLE_NAME> (
    <column specification>
) ON COMMIT PRESERVE ROWS;

 创建事务临时表:

CREATE GLOBAL TEMPORARY TABLE <TABLE_NAME> (
    <column specification>
) ON COMMIT DELETE ROWS;

  两中类型临时表的区别:

会话级临时表采用 on commit preserve rows ;而事务级则采用 on commit delete rows ;用法上,会话级别只有当会话结束临时表中的数据才会被截断,而且事务级临时表则不管是 commit rollback 或者是会话结束,临时表中的数据都将被截断 

临时表的大致用处:

 1:当某一个 SQL 语句关联的表在 2 张及以上,并且和一些小表关联。可以采用将大表进行分拆并且得到比较小的结果集合存放在临时表中

 2:程序执行过程中可能需要存放一些临时的数据,这些数据在整个程序的会话过程中都需要用的等等……

 

另网上也有人提到临时表的不足及自己创建临时表的方法,觉得他写的不错,留个链接

http://fangrn.iteye.com/blog/567191

 

分享到:
评论

相关推荐

    oracle临时表操作学习资料

    在Oracle数据库中还有一种类型的表,叫做临时表。这个临时表跟永久表最大的区别就是表中的数据不会永远的存在。当一个会话结束或者事务结束的时候,这个临时表中的数据,不用用户自己删除,数据库自己会自动清除。

    学习oracle创建一个表空间创建临时表空间创建用户表空间资源的权限

    oracle创建一个表空间创建临时表空间创建用户表空间资源的权限

    MyEclipse的SSH框架搭建教程带干净项目、oracle表空间用户密码权限创建

    还有自己做的3到4页的MyEclipse搭建SSH的傻瓜式教程,还有oracle数据库连接引擎的配置的图片流程详解,更有oracle创建表空间、用户名和密码以及给用户授权的sql语句,复制后直接在sql plus里执行。 才收你2分哦,...

    ORACLE学习内容

    查看oracle是否锁表;删除临时表不成功,需要先把正在使用临时表的会话删除

    Oracle 12CR2查询转换教程之临时表转换详解

    主要给大家介绍了关于Oracle 12CR2查询转换教程之临时表转换的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Oracle 12c体系结构学习实验笔记

    Oracle 12c实验-管理表空间.pdf Oracle 12c实验-管理归档重做日志.pdf Oracle 12c实验-管理控制文件.pdf Oracle 12c实验-管理数据文件和临时文件.pdf Oracle 12c实验-管理重做日志.pdf Oracle 12c实验-归档模式&非...

    oracle 存储过程学习总结

    NULL 博文链接:https://forlan.iteye.com/blog/2319341

    oracle学习日志总结

    3. 尽量避免反复访问同一张表或者几张表,尤其是数据量大的表可考虑提取数据到临时表,然后做链接. 4. Select 中 避免使用*, oracle需要转换成表的列,通过查询数据字典获得,耗费时间). 5. 注意where字句写法,必须...

    Oracle自学(学习)材料 (共18章 偏理论一点)

    11 管理表 目标 11-2 储存用户数据 11-3 Oracle 数据类型 11-5 ROWID 格式 11-8 行的结构 11-10 创建一张表 11-11 创建临时表 11-13 创建表:指南 11-14 修改储存参数 11-15 手工分配片 11-16 重构非分区表 11-17 ...

    Oracle 10g应用指导

    主要包括各种类型的表创建以及适用情形,如外部表、分区表、嵌套表、全局临时表等;完整性约束的管理;索引,包括B树索引、基于函数的索引、位图索引、反向索引、降序索引、压缩索引等的使用方法及其适用情形等。在...

    Oracle 从入门到精通视频教程(11G版本)(ppt)

    临时表空间的管理 数据文件管理 第17章-与数据库安全性有关的对象 用户管理 权限管理 角色管理 概要文件PROFILE 第18章-备份与恢复 数据库备份与恢复 物理备份和恢复数据库 逻辑备份和恢复数据库 本章小结 第...

    sql plsql 函数学习 Oracle 快速入门

    sql plsql 函数学习 Oracle 快速入门 有关表的操作 运算符 常用 ORACLE 函数(日期函数、字符函数、数字函数、转换函数、分组函数、其他函数……) 临时表 join SEQUENCE 同义词 等等

    oracle教程 oracle傻瓜手册 v2.0

    这是一部非常不错的学习oracle数据维护及开发的学习资料,翻译自国外,菜有十个章节,分别是:第一章安装(UNIX WARE7,HP-UX,LINUX,solaris四种环境)第二章创建(用户,临时表,日志等),第三章初始化配置文件...

    pkg_XXX.rar_oracle_oracle record cursor

    oracle 存储过程 包括 cursor record 动态sql 临时表等 用于oracle参考学习用

    Oracle数据库基础学习资料整合

    tom(口令:tom,默认表空间 users,临时表空间 temp 无空间限额 第一次登 陆修改密码) 2、用户间系统权限授予 . 用户system将create table,create session系统权限授予用户a,并且带有with admin option选项...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...

    Oracle+10g应用指导与案例精讲

    主要包括各种类型的表创建以及适用情形,如外部表、分区表、嵌套表、全局临时表等;完整性约束的管理;索引,包括B树索引、基于函数的索引、位图索引、反向索引、降序索引、压缩索引等的使用方法及其适用情形等。在...

    oracle学习笔记之_用户 口令 权限

    2、用户登录 3:显示用户:show user 4、创建用户 5、查看用户信息【用户名、所在表空间、临时表空间】 6、查看用户所在表空间的配额 7、删除用户 8、为用户增加删除权限 9、对象权限 10、建用户注意

    ORACLE11G宝典.rar 是光盘里面的内容,书太厚咧没法影印啊

     6.2.3 为用户设置表空间配额和临时表空间  6.3 创建表空间  6.3.1 创建(永久)表空间  6.3.2 创建大文件表空间  6.3.3 创建临时表空间  6.4 修改表空间  6.4.1 扩展表空间  6.4.2 修改属性、状态 ...

Global site tag (gtag.js) - Google Analytics