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

OracleのINSERT重複主キーの更新?

    MERGEは、標準SQLでは「必要に応じてINSERTまたはUPDATEを実行する」ステートメントであり、したがってOracleSQLでも同様です。

    はい、マージするには「テーブル」が必要ですが、ほぼ確実にその場でそのテーブルを作成できます:

     MERGE INTO Movie_Ratings M
           USING (SELECT 1 AS mid, 3 AS aid, 8 AS rating FROM dual) N
              ON (M.mid = N.mid AND M.aid = N.aid)
           WHEN     MATCHED THEN UPDATE SET M.rating = N.rating
           WHEN NOT MATCHED THEN INSERT(  mid,   aid,   rating)
                                 VALUES(N.mid, N.aid, N.rating);
    

    (構文は検証されていません。)



    1. MySQLデータベース内からのPHP変数の呼び出し

    2. postgresで外部キー違反をキャッチすることは可能ですか?

    3. クエリを検索するSQLユーザー

    4. 1つのクエリで複数の列をカウントする