Captura los valores que activan DUP_VAL_ON_INDEX
Dado este ejemplo (Excepción DUP_VAL_ON_INDEX), ¿es posible capturar los valores que violaron la restricción para que puedan registrarse?
¿El enfoque sería el mismo si hay múltiples violaciones generadas por una inserción masiva?
BEGIN
-- want to capture '01' and '02'
INSERT INTO Employee(ID)
SELECT ID
FROM (
SELECT '01' ID FROM DUAL
UNION
SELECT '02' ID FROM DUAL
);
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN
-- log values here
DBMS_OUTPUT.PUT_LINE('Duplicate value on an index');
END;