UPDATE TOP 会导致死锁吗?

时间:2021-02-19 14:03:34

标签: sql sql-server deadlock database-deadlocks

我有一个 SQL 表,其中每一行代表我的库存中的一个项目。我正在使用此更新查询在购买时保留项目。我很难理解是否需要额外的锁定机制来确保在多个请求执行此查询时不会发生死锁,还是这本身就足够了?我正在使用 MSSQL。

UPDATE TOP (@Quantity) [dbo].[Inventory] 
SET IsAvailable = 0, OrderItemId = @OrderItemId 
OUTPUT INSERTED.InventoryId 
WHERE IsAvailable = 1 AND ProductId = @ProductId AND OrderItemId IS NULL;

0 个答案:

没有答案