日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle模拟重叠事务,ORACLE的事务读一致性与语句读一致性

發布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle模拟重叠事务,ORACLE的事务读一致性与语句读一致性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SET TRANSACTION READ ONLY來實現事物級別的一致性。一個事物所有語句讀到的數據都是一致的。

我們開始試驗一,模擬語句級別讀一致性。第一個session使用顯示打開一個游標模擬數據讀,同時在游標讀數據的過程中,啟動另外一個session更改數據,我可以看到另外一個session對數據的更改,并不會改變到第一個session的讀。這就是語句級別的讀一致性。啟動一個session連接數據庫:Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0Connected as cboSQL> set serveroutput on;SQL>SQL> create table test(id number,name varchar2(10));Table createdSQL> insert into test values(1,'a');1 row insertedSQL> insert into test values(2,'b');1 row insertedSQL> commit;Commit completeSQL>SQL> declare2? cursor cur is select * from test;3? begin4? for rec in cur5? loop6?? dbms_output.put_line(rec.name);7?? dbms_lock.sleep(10);--中間等待另外一個session啟動并執行更新數據操作8? end loop;9? end;10? /abPL/SQL procedure successfully completedSQL>在執行游標打印輸出的時候同時啟動另外一個進程,執行更新數據操作:Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0Connected as cboSQL> set serveroutput on;SQL>SQL> create table test(id number,name varchar2(10));Table createdSQL> insert into test values(1,'a');1 row insertedSQL> insert into test values(2,'b');1 row insertedSQL> commit;Commit completeSQL>SQL> declare2? cursor cur is select * from test;3? begin4? for rec in cur5? loop6?? dbms_output.put_line(rec.name);7?? dbms_lock.sleep(10);8? end loop;9? end;10? /abPL/SQL procedure successfully completedSQL>

下面我們開始試驗二,模擬事務級別讀一致性。

首先啟動一個SESSION,讀一次數據:

SQL> SET TRANSACTION READ ONLY;

Transaction set

SQL> select * from test;

ID NAME

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

1 a

2 bbbb

接下來我們啟動另外一個session,執行更新數據操作:

SQL> update test set name='123456';

2 rows updated

SQL> commit;

Commit complete

最后我們回到第一session查看再次查看數據:

SQL> select * from test;

ID NAME

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

1 a

2 bbbb

我們會發現讀出的數據并沒有發生改變。所以在設置了SET TRANSACTION READ ONLY后,一個事務前后語句讀取的數據不會因為其他seesion對數據的更新而改變。

另外SET TRANSACTION READ ONLY是有一定的條件限制的,官方文檔說明如下:

TheSETTRANSACTIONstatement must be the

first statement of a new transaction; if any DML statements (including

queries) or other non-DDL statements (such asSET ROLE) precede aSET TRANSACTIONREADONLYstatement, an error is returned. Once aSETTRANSACTIONREADONLYstatement successfully executes, onlySELECTFORUPDATEclause),COMMIT,ROLLBACK, or non-DML statements (such asSETROLE,ALTERSYSTEM,LOCKTABLE) are allowed in the transaction. Otherwise, an error is returned. ACOMMIT,ROLLBACK,

or DDL statement terminates the read-only transaction; a DDL statement

causes an implicit commit of the read-only transaction and commits in

its own transaction.

總結

以上是生活随笔為你收集整理的oracle模拟重叠事务,ORACLE的事务读一致性与语句读一致性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色婷婷久久五月综合成人 | 九草视频在线 | 好吊妞在线 | av色网站| 97av在线播放| 日本高清不卡一区 | 影音先锋成人资源网 | 亚洲色图插插插 | 国产精品自偷自拍 | 国产 欧美 在线 | 91视频 - 8mav| 艳母免费在线观看 | 电影《走路上学》免费 | 精品亚洲一区二区三区四区五区 | 色婷婷综合五月 | 亚洲www色| 日本大乳奶做爰 | 精品国产欧美 | 人妻熟女一区 | 一区二区在线视频观看 | 亚洲精品乱码久久久久久蜜桃图片 | 日本三不卡| 91成人免费在线 | 国产人成在线 | 亚洲成人av一区 | 武林美妇肉伦娇喘呻吟 | 欧美性成人 | 国产欧美色图 | 亚洲欧美系列 | 91丨porny| 两个女人互添下身爱爱 | 影音先锋中文字幕一区 | 久久精品男人 | 森泽佳奈在线播放 | 日本免费在线观看视频 | 国产亚洲精品女人久久久久久 | 涩涩视频免费 | 国产在线观看第一页 | 男女做爰猛烈高潮描写 | 麻豆精品国产传媒mv男同 | 欧美日韩高清不卡 | 91秦先生在线播放 | 精品国产视频一区二区 | 中文字幕在线欧美 | 欧美日韩国产二区 | 中文字幕丰满乱子伦无码专区 | 精品无码一区二区三区在线 | 亚洲精品中文字幕在线 | 欧美综合成人 | 国产精品久久久久久免费 | 青青草视频黄 | 免费网站观看www在线观看 | 国产精品久久久久久久无码 | 在线观看免费观看在线 | 亚洲88 | 亚洲在线| 就是色| 国产极品久久 | 欧美色久 | 久久免费视频网 | 精品在线免费观看视频 | 99热青青草 | 天堂视频在线观看免费 | 亚洲人体在线 | 黄色a站| 最好看的2019年中文在线观看 | 国产亚洲性欧美日韩在线观看软件 | 亚洲视频一二三区 | 色姑娘综合 | 一级特黄aa大片免费播放 | 夜色在线视频 | 禁止18在线观看 | 老熟女一区二区三区 | 天堂av2018| 日本美女视频一区 | 欧洲美熟女乱又伦 | 人妻体内射精一区二区 | 精品无人国产偷自产在线 | 亚洲 欧美 日韩 国产综合 在线 | 大色综合| 国产污污在线观看 | 青青草国产一区二区三区 | 青青视频网站 | 黑人玩弄人妻一区二区三区 | 欧美成免费 | 午夜看片| 91香蕉国产在线观看软件 | 久色成人 | 久久免费视频6 | 亚洲手机看片 | 久草操 | 毛片网站免费观看 | 国产精品欧美一区二区 | 91视频大全 | 69xxxx国产 | 色婷婷久久一区二区三区麻豆 | 性高跟鞋xxxxhd国产电影 | 国产视频在线播放 | 欧美三级一区二区 |