我想知道如何使用锁定来防止Server中的多个用户使用相同的存储过程事务?
我有很多书,每本书都有1到100个序列号。
我写了一个存储过程,用事务将数据插入到主表中,每个事务都用序列号(如1,2,3…100)更新书表,并将编号分配给每个用户,就像我有一本书一样。
图书/系列--无
多个用户将使用此应用程序。
所以我不想重复一本书的序列号,比如
User1 has 1/1
User2 has 1/2
user3 has 1/2
user4 has 1/3我有多个交易T1,T2,T3.同时使用相同的程序。将数据插入主表并更新图书序列号。
现在我想知道如何保护或锁定事务。直到T1还没有完成他们的任务。T2暂停,然后T2没有完成他们的任务..T3被搁置。
请给我提供最好的解决方案或例子。
发布于 2016-03-12 17:09:39
找出你的实际问题并不容易,但我假设你需要这样的东西:
declare @serialNo
update top(1) Books
set
@serialNo = serialNo,
status = 'R',
user = @userId
where
book = @bookId and
status = 'F'这假设您有一个状态(免费/保留),并且您希望为用户选择其中一个。
https://stackoverflow.com/questions/35915437
复制相似问题