代码之家  ›  专栏  ›  技术社区  ›  Synesso

Oracle等效于rowlock、updlock、readpass查询提示

  •  4
  • Synesso  · 技术社区  · 14 年前

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

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

    例如

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

    Oracle的查询提示中是否存在等效项?

    1 回复  |  直到 14 年前
        1
  •  7
  •   APC    14 年前

    相当于 ROWLOCK FOR UPDATE 条款

    select *
    from emp
    for update;
    

    自从11g Oracle记录了 SKIP LOCKED 语法,相当于 READPAST :

    select *
    from emp
    for update skip locked;
    

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

    没有等价的 UPDLOCK 锁定,因为Oracle Flat Out不允许脏读。找出更多。