आपको एक नेस्टेड PL/SQL
परिभाषित करने की आवश्यकता है EXCEPTION . में अपवाद को ब्लॉक करें और हैंडल करें WHEN DUP_VAL_ON_INDEX
. के रूप में ब्लॉक करें ...
यह नहींहोना चाहिए IF DUP_VAL_ON_INDEX
be हो
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;
/