加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sqlserver 锁定一行数据,禁止读取,修改和删除

发布时间:2020-12-12 12:45:31 所属栏目:MsSql教程 来源:网络整理
导读:sql 事务中 有时候需要锁定某行,等事物完成后 释放此行。 使用?with(ROWLOCK,UpdLock) ? 锁定当前行。禁止读取,修改和删除 a 事务 ALTER PROCEDURE [dbo].[asuo] AS BEGIN ?begin tran SELECT TOP 1 * FROM dbo.JYQ_HLT_Order with(ROWLOCK,UpdLock) ?WHER

sql 事务中 有时候需要锁定某行,等事物完成后 释放此行。


使用?with(ROWLOCK,UpdLock) ? 锁定当前行。禁止读取,修改和删除


a 事务

ALTER PROCEDURE [dbo].[asuo]

AS
BEGIN


?begin tran
SELECT TOP 1 * FROM dbo.JYQ_HLT_Order with(ROWLOCK,UpdLock) ?WHERE orderID=321878
UPDATE dbo.JYQ_HLT_Order SET orderBillingstatus=13 ? WHERE orderID=321878
SELECT TOP 1 * FROM dbo.JYQ_HLT_Order ?WHERE orderID=321878
waitfor delay '00:00:10'
?COMMIT TRAN
END


b 事务


ALTER PROCEDURE [dbo].[bsuo]

AS
BEGIN
?begin tran
UPDATE dbo.JYQ_HLT_Order SET orderBillingstatus=14 ? WHERE orderID=321878
SELECT TOP 1 * FROM dbo.JYQ_HLT_Order ?WHERE orderID=321878
?COMMIT TRAN
END



b事务等待 a事务?COMMIT TRAN 后 才会执行。

with(ROWLOCK)任何作用

with(ROWLOCK,UpdLock) ? 必须组合使用才可以生效

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读