笔记200 自定义锁实现
笔记200 自定义锁实现
1 --自定义锁实现 2 --在新建查询窗口一中 3 --会话A:更改数据表orders中指定的记录 4 USE TransactionTestDb 5 GO 6 SELECT * FROM dbo.Orders 7 GO 8 EXEC sys.sp_getapplock @Resource = N'testlock', -- nvarchar(255) 9 @LockMode = 'exclusive', -- varchar(32) 排他锁 10 @LockOwner = 'session', -- varchar(32) 11 @LockTimeout = -1 -- int 12 13 UPDATE dbo.Orders SET Qutantity=Qutantity +100 14 FROM dbo.Orders 15 WHERE OrderNo =1 16 17 WAITFOR DELAY '00:00:02' 18 19 EXEC sys.sp_releaseapplock @Resource = N'testlock', -- nvarchar(255) 20 @LockOwner = 'session' -- varchar(32) 21 22 23 24 GO 25 26 --在新建查询窗口二中 27 --会话B:查询数据表orders中的详细记录 28 USE TransactionTestDb 29 GO 30 EXEC sys.sp_getapplock @Resource = N'testlock', -- nvarchar(255) 31 @LockMode = 'exclusive', -- varchar(32) 32 @LockOwner = 'session', -- varchar(32) 33 @LockTimeout = -1 -- int 34 SELECT * FROM dbo.Orders 35 GO