私は取引テーブルと取引テーブルを持っています。取引テーブルには集計された列「TotalSales」があります。これは単に取引ごとの取引数です。
次のコマンドを使用すると、トランザクションの行数と合計販売数が同期しない可能性はありますか (行の削除を除く)? デフォルトの分離レベルはこれで機能しますか? 多くのユーザーが同時に購入する可能性があるため、これを処理する最善の方法を見つけようとしています.
BEGIN TRANSACTION
INSERT INTO [transaction] ...
UPDATE deal
SET TotalSales = (select count(*) from [transaction] where dealid = @dealId)
WHERE dealId = @dealId
COMMIT TRANSACTION