1.select * from Table for update –锁定表的所有行,只能读不能写
2.select * from Table where pkid = 1 for update –根据where条件,只锁定pkid=1的行
3.select * from Table a join Table b on a.pkid=b.pkid for update – 锁定两个表的所有行
4.select * from Table a join Table b on a.pkid=b.pkid where a.pkid = 10 for update –锁定两个表的中满足条件的行,相当于锁定了两表中a.pkid&b.pkid=10的行
5. select * from Table1 a join Table b on a.pkid=b.pkid where a.pkid = 10 for update of a.pkid – 根据for update of的条件,只锁定a表满足条件的行
总结:
for update 是把所有的表的满足条件的行都锁定
for update of 根据of 后表的条件锁定相对应的表的行
Oracle for update/for update of/update的用法和区别
最新推荐文章于 2024-07-17 15:36:13 发布