最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Oracletemp表的简介

来源:动视网 责编:小采 时间:2020-11-09 14:23:58
文档

Oracletemp表的简介

Oracletemp表的简介:业务的实现过程中并不是所有的数据都是永久的存放在数据库中的,有些业务在实现的过程中会通过一些临时表或中间表去存放数据,当 【前言】今天开发人员遇到一个temp表找不到数据的问题,稍微了解了一下,感觉还有很多知识点的,所以整理下来供大家参考;
推荐度:
导读Oracletemp表的简介:业务的实现过程中并不是所有的数据都是永久的存放在数据库中的,有些业务在实现的过程中会通过一些临时表或中间表去存放数据,当 【前言】今天开发人员遇到一个temp表找不到数据的问题,稍微了解了一下,感觉还有很多知识点的,所以整理下来供大家参考;


业务的实现过程中并不是所有的数据都是永久的存放在数据库中的,有些业务在实现的过程中会通过一些临时表或中间表去存放数据,当

【前言】今天开发人员遇到一个temp表找不到数据的问题,稍微了解了一下,感觉还有很多知识点的,所以整理下来供大家参考;

【简介】业务的实现过程中并不是所有的数据都是永久的存放在数据库中的,有些业务在实现的过程中会通过一些临时表或中间表去存放数据,当业务实现完成后临时表或中间表的数据就可以删除掉。基于这个业务特性,Oracle的GLOBAL TEMPORARY TABLE就满足了这个业务的功能;

【注】有些开发人员会创建一个实体表,就临时存放数据,当这个业务过程完成之后再把这个实体表drop掉,实现这个temp表的功能;

【详细介绍】

概念描述:临时表中的数据只对当前Session有效,每个Session都有自己的临时数据,并且不能访问其它Session的临时表中的数据。因此,临时表不需要DML锁。

当一个会话结束(用户正常退出 用户不正常退出ORACLE实例崩溃)或者一个事务结束的时候,Oracle对这个会话的表执行TRUNCATE 语句清空临时表数据。

但不会清空其它会话临时表中的数据,你可以索引临时表和在临时表基础上建立视图。同样,建立在临时表上的索引也是临时的,也是只对当前会话或者事务有效。

类别:Oracle临时表分为会话级临时表和事务级临时表。

会话级临时表:指临时表中的数据只在会话生命周期之中存在,,当用户退出会话结束的时候,Oracle自动清除临时表中数据。

事务级临时表:指临时表中的数据只在事务生命周期中存在。当一个事务结束(commit or rollback),Oracle自动清除临时表中数据。

【创建脚本】

ON COMMIT DELETE ROWS :建立事务级临时表的方法

脚本:

create global temporary table TEST1

( id number)

on commit delete rows ;

ON COMMIT PRESERVE ROWS :创建会话级临时表的方法

脚本:

create global temporary table TEST3

(id number)

on commit preserve rows ;

【实验操作】

一、创建global temporary table TEST1,插入数据1,在session1中查看数据;

对于global temporary table ,session之间是隔离的状态;

二、ON COMMIT DELETE ROWS的测试

数据只在事务生命周期中存在。当一个事务结束(commit or rollback),Oracle自动清除临时表中数据。

三、ON COMMIT PRESERVE ROWS 会话级临时表的测试

进行COMMIT之后还能查询到插入的数据,虽然事务结束了,但是会话还是继续存在的;

退出之后重新登录,表中的数据已经被truncate,因为会话已经结束了,这是基于会话级别的临时表;

【总结】oracle的temp表的这两种模式已经能够满足实际的开发过程中的关于数据临时存放的问题了。理解技术就是为了更好的利用技术,理解了临时表的这两种设定,对于实际工作的进行有很大的帮助的;

本文永久更新链接地址:

文档

Oracletemp表的简介

Oracletemp表的简介:业务的实现过程中并不是所有的数据都是永久的存放在数据库中的,有些业务在实现的过程中会通过一些临时表或中间表去存放数据,当 【前言】今天开发人员遇到一个temp表找不到数据的问题,稍微了解了一下,感觉还有很多知识点的,所以整理下来供大家参考;
推荐度:
标签: 数据 介绍 简介
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top