Oracle相当于ROWLOCK,UPDLOCK,READPAST查询提示

时间:2010-10-15 00:45:34

标签: sql oracle locking

在SQL Server中,我在查询中使用了以下提示:

  • rowlock(行级锁定)
  • updlock(防止脏读)
  • readpast(不要阻止等待行锁,转到第一个未锁定的行)

e.g。

select top 1 data from tablez with (rowlock,updlock,readpast);

Oracle是否有等效的查询提示?

1 个答案:

答案 0 :(得分:7)

等同于ROWLOCK的是FOR UPDATE子句

select *
from emp
for update;

自11g以来,Oracle已经记录了SKIP LOCKED语法,它等同于READPAST

select *
from emp
for update skip locked;

这种语法已经存在了很长时间(它是高级排队的基础),但如果它不在文档中,则不支持,

没有等效的UPDLOCK锁,因为Oracle flat out不允许脏读。了解更多。