关于使用FOR UPDATE引起阻塞的问题请教
我有一个存储过程完成以下操作
1、
select id,col1,con2 into v_id,v_col1,v_col2 from table1 where rownum=1 for update
2、update table1 set v_col1 = 1 where rownum=1
commit;
这种语句在什么情况下会导致数据库阻塞?
------------
关于使用FOR UPDATE引起阻塞的问题请教
我有一个存储过程完成以下操作
1、
select id,col1,con2 into v_id,v_col1,v_col2 from table1 where rownum=1 for update
2、update table1 set v_col1 = 1 where id=v_idcommit;
-----------------
这种语句在什么情况下会导致数据库阻塞?
当另一个用户也要锁定其他用户锁住的记录时就会阻塞。
要避免可以使用 for update nowait.
-----------------
应该是另一个会话
我有一个存储过程完成以下操作
1、
select id,col1,con2 into v_id,v_col1,v_col2 from table1 where rownum=1 for update
2、update table1 set v_col1 = 1 where rownum=1
commit;
这种语句在什么情况下会导致数据库阻塞?
------------
关于使用FOR UPDATE引起阻塞的问题请教
我有一个存储过程完成以下操作
1、
select id,col1,con2 into v_id,v_col1,v_col2 from table1 where rownum=1 for update
2、update table1 set v_col1 = 1 where id=v_idcommit;
-----------------
这种语句在什么情况下会导致数据库阻塞?
当另一个用户也要锁定其他用户锁住的记录时就会阻塞。
要避免可以使用 for update nowait.
-----------------
QUOTE:
最初由 xjg 发布
当另一个用户也要锁定其他用户锁住的记录时就会阻塞。
要避免可以使用 for update nowait.
最初由 xjg 发布
当另一个用户也要锁定其他用户锁住的记录时就会阻塞。
要避免可以使用 for update nowait.
应该是另一个会话
本文探讨了使用FORUPDATE指令在数据库操作中可能引起的阻塞问题。特别是在存储过程中,当两个会话试图锁定同一记录时会发生阻塞。文章还介绍了如何通过使用FORUPDATENOWAIT来避免这种情况。

360

被折叠的 条评论
为什么被折叠?



