使用SQL Server表在工作人员之间分配工作项目

时间:2019-02-06 19:00:57

标签: sql-server transactions

我有一个表BIT,其中有一个InProcessingInProcessing

有多个并发工作线程从表中提取项目。

如何使用UPDATE列确保同一项目不会被多个工作人员拉走?

我是否必须使用SNAPSHOT隔离级别并检查{{1}}上的错误?

如果没有SNAPSHOT隔离级别,我可以逃脱吗? (在这种情况下,SERIALIZABLE似乎不起作用:据我所知,SELECT并不专门锁定所选行,因此2个工作人员可以选择相同的项目并将其显示为

  

InProcessing = 0

更新之前)

1 个答案:

答案 0 :(得分:1)

将选择放入事务中,并通过以下提示进行选择:

logged in as ${client.user.tag}!
in function
${message.author.tag} - inputted an used key. key : ${key}
test
undefined