Przechwytuj wartości wyzwalające DUP_VAL_ON_INDEX

Biorąc pod uwagę ten przykład (DUP_VAL_ON_INDEX Wyjątek), czy możliwe jest przechwycenie wartości, które naruszyły ograniczenie, aby mogły zostać zarejestrowane?

Czy podejście będzie takie samo, jeśli istnieje wiele naruszeń generowanych przez wkładkę zbiorczą?

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;

questionAnswers(1)

yourAnswerToTheQuestion