Oracle基於會話和基於事務的臨時表測試例子

2021-04-24 13:04:00 字數 1972 閱讀 3456

首發原文:http://www.laozizhu.com/view.jsp?articleid=120

臨時表可以是基於會話的(臨時表中的資料可以跨提交存在,即提交之前仍然存在,但是斷開連線後再連線後再連線時資料就沒有了),也可以是基於事務的(提交之後資料就消失)。下面這個例子顯示了這兩種不同的臨時表。我使用scott.emp 表作為乙個模板:

sql> create global temporary table temp_table_session

2  on commit preserve rows

3  as

4  select * from scott.emp where 1=0

5  /

表已建立。

sql> create global temporary table temp_table_transaction

2  on commit delete rows

3  as

4  select * from scott.emp where 1=0

5  /

表已建立。

sql> insert into temp_table_session select * from scott.emp;

已建立14行。

sql> insert into temp_table_transaction select * from scott.emp;

已建立14行。

sql> select session_cnt, transaction_cnt

2  from ( select count(*) session_cnt from temp_table_session ),

3  ( select count(*) transaction_cnt from temp_table_transaction );

session_cnt transaction_cnt

----------- ---------------

14              14

sql> commit;

提交完成。

sql>  select session_cnt, transaction_cnt

2   from ( select count(*) session_cnt from temp_table_session ),

3   ( select count(*) transaction_cnt from temp_table_transaction );

session_cnt transaction_cnt

----------- ---------------

14               0

sql> disconnect

從 oracle database 10g enterprise edition release 10.2.0.1.0 - production

with the partitioning, olap and data mining options 斷開

sql> connect scott

輸入口令:

已連線。

sql>  select session_cnt, transaction_cnt

2   from ( select count(*) session_cnt from temp_table_session ),

3   ( select count(*) transaction_cnt from temp_table_transaction );

session_cnt transaction_cnt

----------- ---------------

0               0

sql>

在commit之後,基於事務的**裡面已經沒有了資料,而基於連線的資料依然存在

在斷開鏈結後,2個臨時表都沒有資料了。

基於Aspectj AOP配置事務

1 事務認識 大家所了解的事務transaction,它是一些列嚴密操作動作,要麼都操作完成,要麼都回滾撤銷。spring事務管理基於底層資料庫本身的事務處理機制。資料庫事務的基礎,是掌握spring事務管理的基礎。這篇總結下spring事務。事務具備acid四種特性,acid是atomic 原子性...

haproxy 基於 cookie 的會話保持

請求會 給配置了相同cookie的server 會 給weight 0的後端 預設不會 給down狀態或disabled的server 如果設定了option persist或者force persist,則會強制 給down狀態或者disabled的server 同時如果配置了option red...

Spring 基於xml和註解的事務

org.springframework spring tx 5.0.2.release 需要新增事務管理的tx約束,同時也需要aop的約束 事務的屬性 propagation 用於指定事務的傳播行為。預設值是required,表示一定會有事務,增刪改的選擇。查詢方法可以選擇supports。read...