sql >> データベース >  >> RDS >> Sqlserver

MERGE は SQL2008 のアトミック ステートメントですか?

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


    1. 日付と現在の時刻の時差?

    2. 問題のあるSQLServerのバージョンを復元しますか?

    3. MySQLdbを使用してカーソルを閉じるタイミング

    4. Codeiginterでページネーションを作成するにはどうすればよいですか?