它们是
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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)