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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle中的for update 和 for update nowaitOracleAI
- brew update
- select for update
- pod update -- Failed to connect to GitHub to update the CocoaPods/Specs specs repoAIGithub
- update-initramfs的用途和功能
- apt的update和upgrade區別APT
- SQL__UPDATESQL
- windows 10 updateWindows
- SNWeChatSDK update Cocoapods支援
- udgrade rubygems-update
- pod repo update 理解
- WPF DispatcherTimer update periodically
- Sql server with as update用法SQLServer
- lua的update、lateupdate
- For Update 加鎖分析
- Leetcode: 627 - UPDATE, SET, ifLeetCode
- MySQL InnoDB update流程MySql
- cocos2dx update scheduleUpdate to update or schedule(schedule_selector(fun),dt)
- 解決 sail composer update 時出現的 Update of laravel/sail failedAILaravel
- Oracle中 Update和insert結合語法Oracle
- pod install 與 pod update
- brew update /usr/local is not writable
- Update Bit與 Is_Updated
- MybatisPlus中的update操作MyBatis
- win10如何開啟update_win10update在哪裡開啟Win10
- 深入理解SELECT ... LOCK IN SHARE MODE和SELECT ... FOR UPDATE
- 正確的使用pod install 和 pod update - CocoaPods
- 利用insert,update和delete注入獲取資料delete
- on duplicate key update簡單使用
- oracle update left join查詢Oracle
- Mysql update誤操作恢復MySql
- Window Application has "update" key wordsAPP
- SAP MM The Table MBEWH Update Logic
- 【SQL】10 SQL UPDATE 語句SQL
- update-alternatives 使用詳解
- ON UPDATE CURRENT_TIMESTAMP請慎用
- Oracle Critical Patch Update for October 2022Oracle
- elasticsearch 的 update by query 使用案例Elasticsearch
- sql查詢更新update selectSQL