SET LOCK_TIMEOUT 10000
 
   select   *   from   session   with(rowlock,xlock)       where user_id='eee'
   

解决方案 »

  1.   

    上面的语句可以实现orcle的select for update wait 的语句.我想问一下sql server有没有像orcle的select for update wait 这样可以用一句话实现的语句.
    ????
      

  2.   

    rowlock 使用行级锁,而不使用粒度更粗的页级锁和表级锁。
    xlock 使用排它锁并一直保持到由语句处理的所有数据上的事务结束时。可以使用 PAGLOCK 或 TABLOCK 指定该锁,这种情况下排它锁适用于适当级别的粒度。SQL Server 查询优化器自动作出正确的决定。建议仅在必要时才使用表级锁定提示更改默认的锁定行为。禁止锁定级别反过来会影响并发。可以使用 SELECT、INSERT、UPDATE 和 DELETE 语句指定表级锁定提示的范围,以引导 Microsoft® SQL Server™ 2000 使用所需的锁类型。当需要对对象所获得锁类型进行更精细控制时,可以使用表级锁定提示。这些锁定提示取代了会话的当前事务隔离级别。