这些关键字在sql server(UPDLOCK,ROWLOCK READPAST)中的用途是什么?

这些关键字在sql server(UPDLOCK,ROWLOCK READPAST)中的用途是什么?,第1张

这些关键字在sql server(UPDLOCK,ROWLOCK READPAST)中的用途是什么?

它们是

DML
用于指定锁定方法的()语句

UPDLOCK
将更新锁放置在选定的行上,直到事务结束。其他事务无法更新或删除该行,但允许他们选择该行。

ROWLOCK
将锁放置在与页面或表锁相对的行级别上。

READPAST
锁定的记录不返回

这是同时使用这两个语句的示例,这意味着在第一个事务结束之前,其他事务无法读取更新或删除数据。

BEGIN TRAN  select top 1 COMMAND  from EXAMPLE_TABLE  with (UPDLOCK, ROWLOCK)  where PROCESSED=false;ROLLBACK

此处交易尚未结束:

BEGIN TRANSACTION      UPDATe TOP(1) EXAMPLE_TABLE      SET colum1 = colum1 + 1

如果执行select语句,则不会返回锁定的记录,例如:

SELECT COUNT(*)FROM EXAMPLE_TABLE WITH(READPAST)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5651214.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存