Oracle plsql ловить исключения - PullRequest
3 голосов
/ 20 ноября 2011

В процедуре, которую я вставляю значения в разные таблицы, всякий раз, когда происходит нарушение уникального / первичного ключа для таблицы, я хочу обработать исключение специально для этой таблицы.Как я могу поймать разные исключения повторяющихся значений?

Ответы [ 2 ]

8 голосов
/ 20 ноября 2011

Проверьте некоторые учебники, такие как this .

Ваше нарушение уникального / первичного ключа будет DUP_VAL_ON_INDEX исключением.

0 голосов
/ 03 декабря 2011

Когда вы создали свою таблицу, вы должны были создать TRIGGER и SEQUENCE для запуска перед вставкой на вашу таблицу и отловить, если: NEW.PRIMAY_KEY имеет значение null, затем получить его из последовательности.

Использованиеэтим методом вы всегда будете избегать DUP_VAL_ON_INDEX.

Я бы не использовал WHEN OTHERS, поскольку он не имеет реального применения в реальной логике обработки ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...