设为首页 加入收藏

TOP

sqlserver锁定一行数据,禁止读取,修改和删除
2015-07-24 11:05:42 来源: 作者: 【 】 浏览:1
Tags:sqlserver 锁定 一行数据 禁止 读取 修改 删除

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) 必须组合使用才可以生效

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇perl操作sqlserver实现BCP 下一篇DB2恢复一例SQL0928N

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Java 学习线路图是怎 (2025-12-25 15:19:15)
·关于 Java 学习,有 (2025-12-25 15:19:12)
·有没有Java swing教 (2025-12-25 15:19:09)
·Start, Stop, and Di (2025-12-25 14:50:57)
·C语言入门教程:零基 (2025-12-25 14:50:54)