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

(Oracle SQL) ユニーク制約エラーのキャッチ

    ネストされた PL/SQL を定義する必要があります ブロックし、EXCEPTION で例外を処理します WHEN DUP_VAL_ON_INDEX としてブロック ...

    すべきではない IF DUP_VAL_ON_INDEX である

    Declare
    violation_of_constraint EXCEPTION;
    BEGIN
      BEGIN
      -- (A FEW INSERTS HERE: A, B, C)
      SAVEPOINT X;
      -- (ANOTHER INSERT HERE: D)
      EXCEPTION 
      WHEN DUP_VAL_ON_INDEX THEN
        ROLLBACK TO X;
        COMMIT;
        RAISE violation_of_constraint;
      END;
    EXCEPTION
    WHEN violation_of_constraint THEN
    DBMS_OUTPUT.PUT_LINE('Value already exists');
    COMMIT;
    END;
    /
      


    1. HTMLフォームを使用してPHPを使用してMySQLにレコードを挿入する方法

    2. MySQLでデータベースのサイズを確認する方法

    3. Rails + OSX上のMySQL:ライブラリがロードされていません:libmysqlclient.18.dylib

    4. PDOはステートメントを準備し、ブールモードで照合します