Oracle 临时表创建及删除

摘要:
也就是说,当您切换到另一个窗口进行查询时,数据将被清除。事务级别CREATEGLOBALTEMPORARY<TABLE_ NAME>ONCOMMITDELETEROWS;当用户提交提交并回滚回滚事务时,临时表中的数据将自动清除。创建临时表时,可以使用TYPE快速创建它们。操作如下:CREATEGLOBALTEMPORARY_TABLETEMP_TABLOFTYPE_NAMEONCOMMITDELETEROWS;删除临时表TRUNCATETABLE;DROPTABLE<TABLE_NAME>;删除临时表时,偶尔会出现ORA-14452错误,这意味着资源仍在占用临时表,无法删除。需要找到并手动终止临时表的会话。

转:

Oracle 临时表创建及删除

Oracle临时表

临时表分为两种

会话级别(ON COMMIT PRESERVE ROWS;

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

会话级临时表是指临时表中的数据只在会话生命周期之中存在,当用户退出会话结束的时候,Oracle自动清除临时表中数据。即切换到另外一个窗口查询时,数据将被清空。

事务级别(ON COMMIT DELETE ROWS;

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

用户提交commit和回滚rollback事务的时候,临时表的数据自动清空。

创建临时表时,可以使用TYPE快捷创建,操作如下

CREATE GLOBAL TEMPORARY TABLE TEMP_TABLE OF TYPE_NAME ON COMMIT DELETE ROWS;

删除临时表

TRUNCATE TABLE <TABLE_NAME>;
DROP TABLE <TABLE_NAME>;

删除临时表时,偶尔会出现ORA-14452的错误,意思是有资源还在占用临时表,无法删除。需要找到临时表的会话,手动杀掉。

-- 查找还在使用临时表的会话

SELECT sid, serial# 
FROM v$session 
WHERE sid = (SELECT sid FROM v$lock 
WHERE id1 = (SELECT object_id  FROM dba_objects 
WHERE object_name = UPPER('临时表名')));

-- 使用上面查出的sid和serial#,杀掉会话

ALTER system kill session 'sid,serial#';
标签: 数据库

免责声明:文章转载自《Oracle 临时表创建及删除》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇windows cygwin安装ACKUML各种图总结下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Oracle 数据库常用SQL语句(2)查询语句

一、SQL基础查询 1、select语句 格式:select 字段 from 表名; 2、where 用于限制查询的结果。3、查询条件 > < >= <= = !=4、与 或(AND,OR)5、在 不在(IN,NOT IN)练习:查询工号为1,9,11,16且工资低于1000的员工。6、在 [a,b] (between val1 a...

ORACLE中关于 char 和 varchar2 的比较

先建表做一个测试: CREATE TABLE TT(CHAR2 CHAR(2) , VARC2 VARCHAR2(2)), CHAR2 CHAR(3) ; INSERT INTO TT VALUES('A','A','A') ; INSERT INTO TT VALUES('A','A ','A') ; COMMIT ; 1、CHAR 类型 与 CHAR型...

Select 语句执行顺序以及如何提高Oracle 基本查询效率

作者:技术改变世界 今天把这几天做的练习复习了一下,不知道自己写得代码执行的效率如何以及要如何提高,于是乎上网开始研究一些材料,现整理如下: 首先,要了解在Oracle中Sql语句运行的机制。以下是sql语句的执行步骤:1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。2)语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权...

MySql/Oracle树形结构查询

Oracle树形结构递归查询 在Oracle中,对于树形查询可以使用start with ... connect by  select * from treeTable start with connect by id = prior parent_id; 若将一个树状结构存储在一张表里,需要在表中存入两个字段ID和PARENTID,表示每一条记录的p...

ORACLE 物理读 逻辑读 一致性读 当前模式读总结浅析

     在ORACLE数据库中有物理读(Physical Reads)、逻辑读(Logical Reads)、一致性读(Consistant Get)、当前模式读(DB Block Gets)等诸多概念,如果不理解或混淆这些概念的话,对你深入理解一些知识无疑是一个障碍,但是这些概念确实挺让让人犯晕的。下面我们总结、学习一下这方面的知识点。捋一捋他们的关系...

细聊Oracle通过ODBC数据源连接SQL Server数据库

    类似文章搜索引擎上有很多,内容大致相同,今天所谓细聊是因为我在借鉴这些文章时候走了些弯路,所以写此文,为自己备忘,同时如果能为初涉此处知识点的小伙伴提供些帮助就更好了,文章结尾处的一些扩展有一定实战意义,废话不多说。     我的应用场景:     项目系统使用oracle数据库,与客户的第三方系统供应商实现资源共享,对方为sql server数据...