`

Oracle之临时表用法详解

 
阅读更多

ORACLE的临时表在应用系统中有很大的作用,它可以让用户只能够操作各自的数据中而互不干扰,不用担心会破坏或影响其他SESSION/TRANSACTION的数据,这也是数据安全的一种解决方法。临时表分为SESSIONTRANSACTION两种,SESSION级的临时表数据在整个SESSION期间都存在,直到结束此次SESSION;而TRANSACTION级的临时表数据在TRANACTION结束后消失,即COMMIT/ROLLBACK或结束SESSION都会清除TRANACTION临时表数据。创建临时表的语法如下:

create global temporary table 临时表名 on commit preserve|delete ROWS; 

   --注:preserve时就是SESSION级的临时表,用delete就是TRANSACTION级的临时表

 

下面分别对两种临时表详细分析

 

一、SESSION级临时表

1、建立临时表

create global temporary table cux_session_table(a_column varchar2(30)) 
on commit preserve rows ;

 2、插入数据

insert into cux_session_table values('test session table') ;

 3、提交

     commit

4、查询数据

select *from cux_session_table;

 可以看到数据'test session table'记录还在。

 

结束SESSION,重新登录,再查询数据select *from temp_tbl,这时候记录已不存在,因为系统在结束SESSION时自动清除记录

 

二、TRANSACTION级临时表

1、建立临时表

create global temporary table cux_transaction_table(a_column varchar2(30)) 
on commit delete rows

2、插入数据

 

insert into cux_transaction_table values('test transaction table') 

 3、提交 

    commit

4、查询数据

select *from cux_transaction_table;

这时候可以看到刚才插入的记录'test transaction table'已不存在了;同样,如果不提交而直接结束SESSION,重新登录记录也不存在.

1
2
分享到:
评论

相关推荐

    Oracle 临时表用法

    ### Oracle 临时表用法详解 #### 一、背景与问题描述 在处理数据库操作时,经常遇到因数据量庞大而导致处理效率降低的问题。例如,某个报表中心的存储过程执行速度过慢,其中一个原因是该过程涉及到一个中间表,...

    oracle-临时表空间

    ### Oracle 临时表空间详解 #### 一、Oracle表空间概览 在Oracle数据库系统中,数据被组织成多个逻辑单元,这些单元被称为表空间。每个表空间由一个或多个物理磁盘文件(称为数据文件)组成,并且是数据库中的最高...

    ORACLE修改表空间大小

    当Oracle数据库执行涉及排序、连接等操作时,会使用临时表空间来存储临时数据。如果这些操作所需的空间超过了临时表空间的可用空间,就会引发ORA-01652错误。 #### 二、ORA-01652 错误分析 ##### 1. 错误现象 当...

    Oracle临时表空间处理.txt

    ### Oracle 临时表空间管理详解 #### 一、概述 Oracle 数据库中的临时表空间主要用于存储临时对象,如排序操作、表连接等过程中产生的临时数据。这些数据在事务结束后会被自动清除,不会占用永久存储空间。正确管理...

    oracle系统表详解(中文).docx

    通过了解这些Oracle系统表的功能和使用方法,我们可以更有效地管理和维护Oracle数据库。这些系统表不仅能够帮助我们监控数据库的状态,还能够帮助我们进行问题排查和性能优化等工作。因此,在日常工作中合理地使用...

    简单理解数据库临时表

    ### 数据库临时表详解 #### 一、临时表的概念与作用 在数据库操作过程中,我们经常会遇到需要存储一些中间结果或临时数据的情况。...在实际开发和运维工作中,掌握临时表的使用方法是非常重要的。

    oracle导入时表空间不一致解决方法

    ### Oracle导入时表空间不一致解决方法 在Oracle数据库管理中,经常会出现因表空间不一致而导致的数据导入失败的问题。本文将详细介绍如何解决这一常见问题,并确保数据能够顺利地从一个环境迁移到另一个环境中。 ...

    Oracle的Temp表空间和UNDO表空间的处理

    如果Temp表空间中有数据正在使用,则可以考虑创建一个新的临时表空间,并将其设置为默认的临时表空间,然后再删除旧的表空间。步骤如下: 1. **创建新表空间**: ```sql CREATE TEMPORARY TABLESPACE TEMP1 TEMP...

    Oracle 表空间 收缩

    ### Oracle 表空间收缩详解 #### 一、背景与需求 在Oracle数据库管理过程中,合理地管理和优化存储空间是非常重要的工作之一。有时,我们会遇到这样的情况:某个表空间占用的实际物理空间远大于其实际需要的空间,...

    Oracle R12 接口表

    ### 使用方法 使用Oracle R12的接口表和API,需要遵循一定的步骤和最佳实践: 1. **理解数据模型**:首先,应深入了解Oracle R12的数据模型,包括接口表的结构、字段含义和数据类型。 2. **设计接口逻辑**:根据...

    Oracle语句优化53个规则详解.doc

    15. 优化排序操作:避免不必要的排序,利用索引的排序能力,或者在可以接受的情况下,使用临时表进行排序。 16. 考虑使用物化视图:对于固定查询模式,物化视图可以提供预计算的结果,提高查询速度。 17. 保持...

    Oracle 回收站功能,彻底删除表ORA-00933:SQL command not properly ended

    ### Oracle回收站功能详解与彻底删除表方法 #### 一、Oracle回收站功能概述 Oracle数据库自10g版本开始引入了回收站功能(Recycle Bin),这一特性为数据库管理员提供了一种简单而强大的方式来恢复误删的数据对象。...

    oracle创建表空间

    2. `TEMPFILE 'D:\Oracle\oradata\orcl\test_temp01.dbf'`:指定临时表空间的数据文件路径。 3. `SIZE 50M`:设置初始大小为 50MB。 4. `AUTOEXTEND ON`:开启自动扩展功能。 5. `NEXT 32M`:每次扩展增加 32MB。 6....

    Oracle存储过程游标详解

    "Oracle存储过程游标详解" Oracle 存储过程游标是指在 Oracle 数据库中使用游标来实现对结果集的处理和操作。游标可以分为静态游标和REF游标两种类型。静态游标是指结果集已经确实(静态定义)的游标,可以进一步...

    oracle 12c SYSAUX表空间过大

    SYSAUX表空间是Oracle数据库中的一个重要组成部分,它存储了系统级别的对象和服务,包括数据字典、索引、临时段等。当SYSAUX表空间占用过大时,可能导致数据库性能下降,甚至影响到正常的数据库操作。 **症状分析**...

    常用的oracle表和视图

    ### 常用的Oracle表和视图知识点详解 #### 一、查询某个表在哪些存储过程中被使用 为了高效地了解某个特定表在哪些存储过程中被引用,可以通过以下SQL查询来实现: ```sql SELECT A.NAME AS 过程名称, MIN(A.LINE...

    Oracle语句优化53个规则详解

    优化SQL语句时,应考虑使用绑定变量、减少排序和临时表的使用、消除冗余的JOIN和子查询,以及合理利用存储过程和函数。同时,数据库管理员需定期监控和调整初始化参数,确保共享池大小适中,以容纳更多的共享SQL语句...

    oracle交叉表sql

    #### 三、案例详解:使用存储过程实现交叉表 根据提供的部分代码内容,我们可以看到这是一个用存储过程来实现交叉表的例子。这里主要涉及以下几个关键点: 1. **存储过程定义**: - `DELIMITER $$`:设置结束符为...

    oracle物理表空间删除修复命令

    - **临时表空间(Temporary Tablespaces)**:为临时表提供存储空间。 - **回滚表空间(Rollback Tablespaces)**:存储事务处理期间的数据变化信息。 #### 三、物理表空间的删除命令 当需要删除某个物理表空间时,...

Global site tag (gtag.js) - Google Analytics