Захватить значения, которые вызывают DUP_VAL_ON_INDEX
Учитывая этот пример (DUP_VAL_ON_INDEX Исключение), возможно ли захватить значения, которые нарушили ограничение, чтобы они могли быть зарегистрированы?
Будет ли такой же подход, если при массовой вставке будет несколько нарушений?
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;