ON COMMIT PRESERVE ROWS】的更多相关文章

定义声明式全局临时表的每个会话拥有自己的独特的临时表描述.当会话终止时,表行和临时表描述均会被删除. 有如下选项,可控制commit后临时表的状态: ON COMMIT DELETE ROWS:在执行 COMMIT 操作时,如果表上没有打开 WITH HOLD 游标,就删除表中的所有行.这是默认设置. ON COMMIT PRESERVE ROWS:在执行 COMMIT 操作时,保留表中的所有行. ON ROLLBACK DELETE ROWS:在执行 ROLLBACK(或 ROLLBACK t…
-- 事务级临时表:提交时删除数据 create global temporary  table tmp_table1 (        x     number ) on commit delete rows ;   -- 会话级临时表:会话结束时删除数据 create global temporary table tmp_table2 (        x     number ) on commit preserve rows ;   insert into tmp_table1 valu…
ora-01410无效的rowid解决方式: 把临时表空间改成会话级别的就可以了,即把临时表的创建选项由on commit delete rows改为on commit preserve rows,就可以了 -- 事务级临时表:提交时删除数据 create global temporary  table tmp_table1 (        x     number ) on commit delete rows ;   -- 会话级临时表:会话结束时删除数据 create global te…
1:先分别建立两张表 sql> CREATE GLOBAL TEMPORARY TABLE tmp_session on commit preserve rows as select * from t where 1= 0; --会话结束,临时表中的数据就会消失 sql>CREATE GLOBAL TEMPORARY TABLE tmp_transaction on commit delete rows as select * from t where 1 = 0;-- 事务完成,临时表中的数…
Oracle 临时表:在 Oracle 中创建一张表,这个表不用于其他的什么功能,主要用于自己的软件系统一些特有功能才用的,而当你用完之后表中的数据就没用了. Oracle 的临时表创建之后基本不占用表空间,如果你没有指定临时表(包括临时表的索引)存放的表空的时候,你插入到临时表的数据是存放在 ORACLE 系统的临时表空间中( TEMP ).1 .临时表的创建创建Oracle 临时表,可以有两种类型的临时表:会话级的临时表事务级的临时表 .1) 会话级的临时表因为这这个临时表中的数据和你的当前…
SELECT TGTID,PHONENUM,REGISTERDATE ,to_date(REGISTERDATE,'YYYY-MM-DD HH24:MI:SS') AS T FROM WTRESSENWEB.T_AXMALL_COMMONCLIENT WHERE TGTID = '2087' AND to_date(REGISTERDATE,'YYYY-MM-DD HH24:MI:SS') > to_date('2014-07-09','yyyy-mm-dd'); 对于to_char() to_…
runstats是由Thomas Kyte开发的脚本,该脚本能对做同一件事的两个不同方法进行比较,得出孰优孰劣的结果. 1.授权 SQL> grant select on v_$statname to livan; Grant succeeded. SQL> grant select on v_$mystat to livan; Grant succeeded. SQL> grant select on v_$timer to livan; Grant succeeded. SQL>…
临时表概念 临时表就是用来暂时保存临时数据(亦或叫中间数据)的一个数据库对象,它和普通表有些类似,然而又有很大区别.它只能存储在临时表空间,而非用户的表空间.ORACLE临时表是会话或事务级别的,只对当前会话或事务可见.每个会话只能查看和修改自己的数据. 临时表语法 临时表分类 ORACLE临时表有两种类型:会话级的临时表和事务级的临时表. 1)ON COMMIT DELETE ROWS 它是临时表的默认参数,表示临时表中的数据仅在事物过程(Transaction)中有效,当事物提交(COMMI…
告警日志介绍 告警日志文件是一类特殊的跟踪文件(trace file).告警日志文件命名一般为alert_<SID>.log,其中SID为ORACLE数据库实例名称.数据库告警日志是按时间顺序记录message和错误信息.   告警日志位置 在ORACLE 10g中,BACKGROUND_DUMP_DEST参数确定了告警日志的位置,但是告警日志的文件名无法修改,告警日志的名称为:alert_<SID>.log ,其中<SID>是实例的名称.BACKGROUND_DUMP…
在ORACLE数据中修改会话级临时表时,有可能会遇到ORA-14550错误,那么为什么会话级全局临时表会报ORA-14450错误呢,如下所示,我们先从一个小小案例入手: 案例1: SQL> CREATE GLOBAL TEMPORARY TABLE TEMP_TEST 2 ( 3 NAME VARCHAR2(12) 4 ) ON COMMIT PRESERVE ROWS;   Table created.   SQL> INSERT INTO TEMP_TEST VALUES('kerry')…