ネストされた 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; /
プレ>