sql >> Databáze >  >> RDS >> Sqlserver

Je MERGE atomický příkaz v SQL2008?

MERGE atomární znamená, že buď jsou všechny změny potvrzeny, nebo všechny změny jsou vráceny zpět.

Nebrání duplicitním klíčům v případě vysoké souběžnosti. Přidání holdlock hint se o to postará.

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 );



  1. Laravel 5.6 s výpisem Počet a kde

  2. Chyby:Upozornění:Nedefinovaný index

  3. Python převádí výsledek dotazu mysql na json

  4. Jak získat komentář role z databáze PostgreSQL