在 SQL Server 中,我在查询中使用了以下提示:
- rowlock(行级锁定)
- updlock(防止脏读)
- 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 完全不允许脏读。了解更多。
关于sql - Oracle 相当于 ROWLOCK、UPDLOCK、READPAST 查询提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3938677/