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

「IF EXISTS... UPDATE .. ELSE .. INSERT」を使用する危険と、代替手段は何ですか?

    MERGE を使用します

    INSERT が発生する前に、2 つの同時重複呼び出しと非常に近い呼び出しが両方とも EXISTS から "false" になるため、SQL は失敗します。したがって、両方とも INSERT を試みますが、もちろん 1 つが失敗します。

    これについては、こちらで詳しく説明しています:Upsert の選択/挿入バージョン:高い同時実行性のための設計パターンはありますか? ただし、この回答は古く、MERGE が追加される前に適用されます



    1. PHPをMySqlからExcelスプレッドシートに変換する列の自動サイズ変更

    2. グループ内で注文しますか?

    3. SQLは重複する行をマージし、異なる値を結合します

    4. SQL:nullでない場合はフィールドで並べ替え、それ以外の場合は別のフィールドを使用するにはどうすればよいですか?