首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用锁定来防止来自Server中多个用户的相同存储过程事务?

如何使用锁定来防止来自Server中多个用户的相同存储过程事务?
EN

Stack Overflow用户
提问于 2016-03-10 11:38:52
回答 1查看 318关注 0票数 0

我想知道如何使用锁定来防止Server中的多个用户使用相同的存储过程事务?

我有很多书,每本书都有1到100个序列号。

我写了一个存储过程,用事务将数据插入到主表中,每个事务都用序列号(如1,2,3…100)更新书表,并将编号分配给每个用户,就像我有一本书一样。

图书/系列--无

  • User1有1/1
  • User2 = 1/2
  • ……
  • User100有1/100

多个用户将使用此应用程序。

所以我不想重复一本书的序列号,比如

代码语言:javascript
复制
User1 has 1/1
User2 has 1/2
user3 has 1/2
user4 has 1/3

我有多个交易T1,T2,T3.同时使用相同的程序。将数据插入主表并更新图书序列号。

现在我想知道如何保护或锁定事务。直到T1还没有完成他们的任务。T2暂停,然后T2没有完成他们的任务..T3被搁置。

请给我提供最好的解决方案或例子。

EN

回答 1

Stack Overflow用户

发布于 2016-03-12 17:09:39

找出你的实际问题并不容易,但我假设你需要这样的东西:

代码语言:javascript
复制
declare @serialNo

update top(1) Books
set 
  @serialNo = serialNo, 
  status = 'R',
  user = @userId
where 
  book = @bookId and 
  status = 'F'

这假设您有一个状态(免费/保留),并且您希望为用户选择其中一个。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35915437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档