FOR UPDATE NOWAIT和 FOR UPDATE
通常是透過select … from for update語句新增的,同時該方法也是我們用來手工鎖定某些記錄的主要方法。比如,當我們在查詢某些記錄的過程中,不希望其他使用者對查詢的記錄進行更新操作,則可以發出這樣的語句。當資料使用完畢以後,直接發出rollback命令將鎖定解除。當表上新增了RS鎖定以後,不允許其他事務對相同的表新增排他鎖,但是允許其他的事務透過DML語句或lock命令鎖定相同表裡的其他資料行。
FOR UPDATE NOWAIT和 FOR UPDATE的區別
別的事務要對這個表進行寫操作時,是等待一段時間還是馬上就被資料庫系統拒絕而返回.制定採用NOWAIT方式來進行檢索,所以當發現資料被別的SESSION鎖定中的時候,就會迅速返回ORA-00054錯誤,內容是資源正忙, 但指定以 NOWAIT 方式獲取資源。所以在程式中我們可以採用NOWAIT方式迅速判斷當前資料是否被鎖定中,如果鎖定中的話,就要採取相應的業務措施進行處理。
如:當先(1)SELECT * FROM TABLEA FOR UPDATE
然後再(2-1)SELECT * FROM TABLEA FOR UPDATE NOWAIT--直接返回錯誤;但是以(2-2)SELECT * FROM TABLEA FOR UPDATE執行會阻塞等待,直到(1)的提交或回滾掉
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-670539/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- for update和for update nowaitAI
- Oracle中的for update 和 for update nowaitOracleAI
- 關於 select ... for update 和 for update nowaitAI
- select for update nowaitAI
- select for update nowait 與 select for update 區別AI
- mysql innodb之select for update nowaitMySqlAI
- for update 和 for update of 有什麼區別
- (轉)資料庫oracle for update of和for update區別資料庫Oracle
- Windows Update與Microsoft UpdateWindowsROS
- update restartREST
- mysql update join優化update in查詢效率MySql優化
- MySQL InnoDB Update和Crash Recovery流程MySql
- update-initramfs的用途和功能
- SQL__UPDATESQL
- MyBatis Batch Update Exception使用foreach批量update出錯MyBatisException
- apt的update和upgrade區別APT
- yum upgrade和yum update區別
- pod update -- Failed to connect to GitHub to update the CocoaPods/Specs specs repoAIGithub
- Default Locking for INSERT, UPDATE, DELETE, and SELECT ... FOR UPDATE (351)delete
- Sql server with as update用法SQLServer
- For Update 加鎖分析
- MySQL InnoDB update流程MySql
- pod repo update 理解
- MongoDB更新(update)操作MongoDB
- websword-update-notificationWeb
- UPDATE操作和UNDO
- oracle select for updateOracle
- Disable Dynamic DNS updateDNS
- Master Data Management UpdateAST
- using update panel do sync job , update UI control asyncUI
- sql server merge 做insert和updateSQLServer
- 關於unity中的update、Lateupdate和FixedUpdateUnity
- 解決 sail composer update 時出現的 Update of laravel/sail failedAILaravel
- brew update /usr/local is not writable
- InnoDB update操作流程圖流程圖
- Windows 8.1 Update 1上手Windows
- Windows Update error codesWindowsError
- SPAM/SAINT update(轉載)AI