У меня есть таблица сделок и транзакций, где в таблице сделок есть агрегированный столбец TotalSales, который представляет собой просто количество транзакций на сделку.
С помощью следующей команды существует ли вероятность того, что количество строк транзакций и общее количество продаж не будут синхронизированы (не считая удаления строк)? Работает ли для этого уровень изоляции по умолчанию? У нас много пользователей, делающих покупки в одно и то же время, поэтому я пытаюсь найти лучший способ справиться с этим.
BEGIN TRANSACTION
INSERT INTO [transaction] ...
UPDATE deal
SET TotalSales = (select count(*) from [transaction] where dealid = @dealId)
WHERE dealId = @dealId
COMMIT TRANSACTION