我需要编写一个程序,允许我选择 x 行并同时更新这些行,以便调用应用程序知道这些记录已锁定并正在使用中。我在表中有一列名为“锁定”。下次调用该过程时,它只会提取下 x 条未选中“锁定”列的记录。我已经阅读了一些有关 SQL Server 的 OUTPUT 方法的信息,但不确定这是我想要做的。
最佳答案
正如您所建议的,您可以有效地使用 OUTPUT 子句:
现场演示:https://data.stackexchange.com/stackoverflow/query/8058/so3319842
UPDATE #tbl
SET locked = 1
OUTPUT INSERTED.*
WHERE id IN (
SELECT TOP 1 id
FROM #tbl
WHERE locked = 0
ORDER BY id
)
另见这篇文章:
http://www.sqlmag.com/article/tsql3/more-top-troubles-using-top-with-insert-update-and-delete.aspx
关于sql - 选择行并更新相同的行以进行锁定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3319842/