在sql Server中,我在查询中使用了以下提示:
> rowlock(行级锁定)
> updlock(防止脏读)
> readpast(不要阻塞等待行锁,转到第一个未锁定的行)
例如
select top 1 data from tablez with (rowlock,updlock,readpast);
解决方法
ROWLOCK的等价物是FOR UPDATE子句
select * from emp for update;
由于11g Oracle已经记录了SKIP LOCKED语法,它相当于READPAST:
select * from emp for update skip locked;
这种语法已经工作了很长时间(它是高级队列的基础),但如果它不在文档中,则不支持,
没有等效的UPDLOCK锁,因为Oracle flat out不允许脏读.了解更多.