日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Oracle數據庫事務的開啟與結束詳解

瀏覽:242日期:2023-03-12 15:24:57
目錄
  • 前言
  • commit
  • Truncate – DDL
  • select xxx for update
  • select…for update使用方法
  • 失敗的DML 和 exit
  • DCL
  • 總結

前言

Oracle的事務開始于一個DML語句。

當以下情況發生時,事務結束:

1、COMMIT/ROLLBACK

2、執行了DDL/DCL語句

3、客戶端主動斷開數據庫的連接(DISCONNECT)

4、數據庫關閉(宕機)

另外,一個DDL/DCL語句實際上就是一個事務,其中隱含了COMMIT。

Oracle不需要特別的去指定事務的開始和結束。一個事務的結束就是下一個事務的開始。

事務是用來分割數據庫活動的邏輯工作單元。事務既有起點,也有終點:當發生下列事件時,事務就開始了:

1.連接到數據庫上,并執行第一條DML語句

2.前一個事務結束后,又輸入另外一條DML語句

在下列事件之一發生時,事務就結束了:

1.執行Commit或者RollBack語句

2.執行一條DDL語句,例如Create Table語句;在這種情況下,會自動執行Commit語句

3.執行一條DCL語句,例如Grant語句;在這種情況下,會自動執行Commit語句

4.斷開與數據庫鏈接。在退出SQLPlus事,通常會輸入EXit命令,此時會自動執行Commit語句。如果SQLPlus被意外終止(例如運行SQL*Plus的計算機崩潰)那么就會執行RollBack語句

事務完成后,如果不顯式的提交或者回滾事務,都被認為是不好的編程習慣,因此確保在每個事物后面都要執行Commit或者RollBack語句。

事務中任何地方都可以設置一個保存點(savepoint),這樣可以將修改回滾到保存點處。

commit

create table  transaction_table8 as select * from dba_objects;insert into transaction_table8 select * from transaction_table8;

select xid, status from v$transaction;

Truncate – DDL


select xxx for update

select * from transaction_table8 where rownum=1 for update;

select…for update使用方法

作用:

select for update 是為了在查詢時,避免其他用戶以該表進行插入,修改或刪除等操作,造成表的不一致性.

給你舉幾個例子:

select * from t for update 會等待行鎖釋放之后,返回查詢結果。
select * from t for update nowait 不等待行鎖釋放,提示鎖沖突,不返回結果
select * from t for update wait 5 等待5秒,若行鎖仍未釋放,則提示鎖沖突,不返回結果
select * from t for update skip locked 查詢返回查詢結果,但忽略有行鎖的記錄

SELECT...FOR UPDATE 語句的語法如下:

  SELECT ... FOR UPDATE [OF column_list][WAIT n|NOWAIT][SKIP LOCKED];

其中:

  OF 子句用于指定即將更新的列,即鎖定行上的特定列。

  WAIT 子句指定等待其他用戶釋放鎖的秒數,防止無限期的等待。

“使用FOR UPDATE WAIT”子句的優點如下:

  1防止無限期地等待被鎖定的行;

  2允許應用程序中對鎖的等待時間進行更多的控制。

  3對于交互式應用程序非常有用,因為這些用戶不能等待不確定

  4 若使用了skip locked,則可以越過鎖定的行,不會報告由wait n 引發的‘資源忙’異常報告

補充幾點:

分成兩類:加鎖范圍子句和加鎖行為子句

加鎖范圍子句:在select…for update之后,可以使用of子句選擇對select的特定數據表進行加鎖操作。默認情況下,不使用of子句表示在select所有的數據表中加鎖

加鎖行為子句:當我們進行for update的操作時,與普通select存在很大不同。一般select是不需要考慮數據是否被鎖定,最多根據多版本一致讀的特性讀取之前的版本。加入for update之后,Oracle就要求啟動一個新事務,嘗試對數據進行加鎖。如果當前已經被加鎖,默認的行為必然是block等待。使用nowait子句的作用就是避免進行等待,當發現請求加鎖資源被鎖定未釋放的時候,直接報錯返回。

在日常中,我們對for update的使用還是比較普遍的,特別是在如pl/sql developer中手工修改數據。此時只是覺得方便,而對for update真正的含義缺乏理解。

For update是Oracle提供的手工提高鎖級別和范圍的特例語句。Oracle的鎖機制是目前各類型數據庫鎖機制中比較優秀的。所以,Oracle認為一般不需要用戶和應用直接進行鎖的控制和提升。甚至認為死鎖這類鎖相關問題的出現場景,大都與手工提升鎖有關。

所以,Oracle并不推薦使用for update作為日常開發使用。而且,在平時開發和運維中,使用了for update卻忘記提交,會引起很多鎖表故障。 那么,什么時候需要使用for update?就是那些需要業務層面數據獨占時,可以考慮使用for update。場景上,比如火車票訂票,在屏幕上顯示郵票,而真正進行出票時,需要重新確定一下這個數據沒有被其他客戶端修改。所以,在這個確認過程中,可以使用for update。這是統一的解決方案方案問題,需要前期有所準備。

失敗的DML 和 exit

DCL

總結

到此這篇關于Oracle數據庫事務的開啟與結束的文章就介紹到這了,更多相關Oracle事務開啟與結束內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Oracle
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品一卡| 日产欧产美韩系列久久99| 在线精品亚洲| 欧美二区视频| 亚洲视频www| 国产亚洲亚洲| 一区二区三区国产盗摄| 国产精品久久| 欧美亚洲色图校园春色| 亚洲天堂av资源在线观看| 蜜臀久久99精品久久久久宅男 | 国产精品超碰| 精品一区91| 日韩久久视频| 91久久中文| 日本欧美韩国一区三区| 国产精品久久久亚洲一区| 精品色999| 天堂资源在线亚洲| 巨乳诱惑日韩免费av| 91在线成人| 国产在线一区不卡| 欧美成人高清| 日本精品另类| 成人在线免费观看91| 久久久久久久欧美精品| 亚洲欧美视频| 欧美日一区二区三区在线观看国产免| 欧美黄页在线免费观看| 日韩国产综合| 免费看精品久久片| 国产精品网站在线看| 欧产日产国产精品视频| 免费视频一区二区| 国产高清亚洲| 99精品一区| 欧美亚洲自偷自偷| 久久精品青草| 视频一区视频二区中文字幕| 免费在线欧美黄色| 国产精品日韩欧美一区| 另类小说一区二区三区| 欧美理论视频| 欧美国产日本| 另类av一区二区| 国产精品乱战久久久| 麻豆视频在线观看免费网站黄 | 亚洲免费影视| 尹人成人综合网| 国产欧美日韩视频在线| 亚洲国产成人二区| 日本一区中文字幕| 999久久久国产精品| 婷婷综合福利| 99精品在线| 久久亚洲国产精品尤物| 欧美日韩国产免费观看视频| 国产精品99久久免费| 国产视频久久| 91欧美在线| 国产亚洲久久| 日韩高清不卡| 国产精品久久国产愉拍| 亚洲主播在线| 久久久久久黄| 久久亚洲精品中文字幕| 午夜视频一区二区在线观看| 亚洲不卡av不卡一区二区| 国产福利一区二区精品秒拍| 美女黄网久久| 综合日韩av| 国产精品免费精品自在线观看| 99视频精品免费观看| 国产精品黑丝在线播放| 国产午夜精品一区在线观看| 99香蕉国产精品偷在线观看 | 99精品电影| 免费在线成人| 国产精品天堂蜜av在线播放| 麻豆亚洲精品| 欧美日韩国产一区精品一区| 美女av在线免费看| 久久99蜜桃| 国产精品伦一区二区| 日韩高清国产一区在线| 蜜芽一区二区三区| 性感美女一区二区在线观看| 久久精品国产99国产| 国产三级一区| 国产日韩一区二区三区在线播放| 免费在线观看成人| 黑丝一区二区三区| 亚洲一级黄色| 日韩电影在线视频| 日韩国产一区二区三区| 91日韩免费| 97欧美在线视频| 成人在线丰满少妇av| 国产福利91精品一区二区| 国产精品**亚洲精品| 国产麻豆精品| 欧美日韩91| 亚洲精品激情| 综合激情视频| 日韩欧美高清一区二区三区| 亚欧洲精品视频在线观看| 亚洲区欧美区| 国产探花在线精品| 卡一卡二国产精品| 国产一区不卡| 高清不卡一区| 欧洲亚洲一区二区三区| 国产精品久久久久久久免费观看| 久久亚洲精精品中文字幕| 国产videos久久| 久久久男人天堂| 久久精品一本| 日韩欧美一区二区三区免费看| 99久久夜色精品国产亚洲1000部| 亚洲精品国产偷自在线观看| 视频一区二区三区中文字幕| 亚洲tv在线| 欧美激情麻豆| 快播电影网址老女人久久| 性欧美69xoxoxoxo| 亚洲一级大片| 国产欧美日韩精品高清二区综合区| 美女视频黄久久| 久久久国产精品一区二区中文| 黄色av一区| 日韩在线电影| 国产极品久久久久久久久波多结野| 久久精品色播| 天堂资源在线亚洲| 亚洲精品在线a| 国产一区日韩| 亚洲精品一区二区妖精| 四虎精品一区二区免费| 麻豆久久一区| 久久激情一区| 天堂俺去俺来也www久久婷婷| 麻豆精品在线视频| 日韩成人亚洲| 一区二区三区四区精品视频| 免费在线亚洲欧美| 黄色免费成人| 日韩激情中文字幕| 精品国产免费人成网站| 老鸭窝亚洲一区二区三区| 国产精品亚洲四区在线观看| 香蕉成人av| 日韩激情av在线| 欧产日产国产精品视频| 日本在线视频一区二区| 91av亚洲| 四虎国产精品免费久久| 在线一区av| 日韩精品a在线观看91| 日韩电影二区| 欧美亚洲色图校园春色| 四虎884aa成人精品最新| 亚洲精品第一| 欧美aa在线观看| 欧美亚洲网站| 偷拍欧美精品| 精品国产美女a久久9999| 蜜桃av一区二区在线观看| 成人亚洲一区二区| 亚洲18在线| 国产国产精品| 国产成人1区| 日韩国产高清在线| 国产亚洲毛片| 欧美日韩精品免费观看视欧美高清免费大片| 亚洲精品字幕| 1024精品一区二区三区| 久久一区国产| 老牛影视一区二区三区| 人人草在线视频| 欧美天堂一区| 亚洲色图网站| 午夜av一区| 久久精品三级| 国产欧美日韩精品一区二区三区| 国产视频久久| 999久久久免费精品国产| 久久这里只有| 国产日韩一区二区三区在线| 午夜在线视频观看日韩17c| 日本精品在线中文字幕| 精品视频在线观看网站| 91精品美女| 国产亚洲网站| 国产中文一区| 美女av在线免费看| 国产一区精品福利| **爰片久久毛片| 日韩综合小视频| 香蕉成人久久| 午夜宅男久久久|