oracle for update for update nowait

直接查询。

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 引发的‘资源忙’异常报告

猜你喜欢

转载自www.cnblogs.com/zz-blog/p/9431477.html