MERGE
adalah atom yang berarti bahwa semua perubahan dilakukan atau semua perubahan dibatalkan.
Itu tidak mencegah kunci duplikat jika terjadi konkurensi tinggi. Menambahkan holdlock
petunjuk akan mengatasinya.
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 );