MERGE
アトミックであることは、すべての変更がコミットされるか、すべての変更がロールバックされることを意味します。
同時実行性が高い場合、キーの重複は防止されません。 holdlock
の追加 ヒントがそれを処理します。
MERGE INTO CustomerSpend WITH (HOLDLOCK) AS T USING ( SELECT ? AS ID, ? AS NetValue, ? AS VoidValue ) AS V ON T.ID = V.ID WHEN MATCHED THEN UPDATE SET T.ID = V.ID, T.NetValue = T.NetValue + V.NetValue, T.VoidValue = T.VoidValue + V.VoidValue WHEN NOT MATCHED THEN INSERT ( ID,NetValue,VoidValue ) VALUES ( V.ID, V.NetValue, V.VoidValue );
プレ>