关于Oracle select...for update of 的问题,请高手帮忙!
我在SQL Plus中执行select title from book for update of title where isbn = 'A001 ',然后再打开一个SQL Plus窗口执行update book set price = 20 where isbn = 'A001 ',更新无法完成,必须把select...for update of 提交了才能执行,请问为什么?这样的话select...for update of 和select...for update有什么区别?
------解决方案--------------------不清楚
按理说应该只提供到行级锁,没有到字段的
难道只是为了程序易读性?
------解决方案--------------------指定锁的范围
------解决方案--------------------declare
cursor t_sor is
select title
from book
where isbn = 'A001 '
for update of id NOWAIT;
begin
for v_sor in t_sor loop
delete from book WHERE CURRENT OF t_sor;
end loop;
end;
以上语句作用于多用户操作同一记录时,防止等待现像.for update of 字段,可用于操作条件.