1. 程式人生 > >oracle for update for update nowait

oracle for update for update nowait

數量 意思 owa 被鎖 for 資源 comm 避免 線程

直接查詢。

select * from A1 t ;

此時取到的數據為運行前的數據,同一時刻其他用戶進行數據修改無法獲取。

實時更新查詢

select * from A1 t for update ;

for update 更新,其他管理者進行數據的操作時可以進行update ,此限制用戶的數量,連接用戶少,線程使用不被占用時可以使用。

等待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 引發的‘資源忙’異常報告

oracle for update for update nowait