oracle for update for update nowait

 

 

 

 

對數據進行查詢操做後,或提示ORA-00054錯誤,這時選定行的資源被佔用,資源正忙。其餘程序或者用戶在佔用着此行數據或者此表。spa

 

 

直接查詢。線程

select * from A1 t  ; ip

此時取到的數據爲運行前的數據,同一時刻其餘用戶進行數據修改沒法獲取。資源

 

實時更新查詢it

select * from A1 t  for  update   ; date

for update 更新,其餘管理者進行數據的操做時能夠進行update ,此限制用戶的數量,鏈接用戶少,線程使用不被佔用時可使用。select

 

等待3秒後更新程序

select * from A1 t  for  update  wait 3 ; 數據

在鎖表的狀況下,更新其餘用戶commit的數據,wait 3的做用讓權操做。查詢

 

實時更新查詢

select * from A1 t  for  update  nowait ; 

for update nowait 根據字面意思理解,無需等待着更新,即實時更新。

使用for update nowait的好處:不用無限制的等待被鎖定的行!

對鎖定的數據可使其餘的操做者避免更多的等待,也能夠進行更多的控制

對交互式應用很受用!對多用戶操做的數據能夠進行交互式保存。

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

相關文章
相關標籤/搜索