在SQL Server中,我在查询中使用了以下提示:
行锁(行级别锁定)
上锁(防止脏读)
readpast(不要阻止等待行锁,请转到第一个未锁定的行)
例如
select top 1 data from tablez with (rowlock,updlock,readpast);
Oracle是否有等效的查询中提示?
最佳答案
ROWLOCK
的等价物是FOR UPDATE
子句
select *
from emp
for update;
由于11g,Oracle已记录了
SKIP LOCKED
语法,该语法与READPAST
等效:select *
from emp
for update skip locked;
这种语法已经使用了很长时间了(它是高级排队的基础),但是如果文档中没有它,则不支持,
没有等效的
UPDLOCK
锁,因为Oracle禁止进行脏读。了解更多。