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

相关文章
相关标签/搜索