Согласно документации (выберите другую версию, если это необходимо, но я не думаю, что многое изменилось).«Обработка ошибок PL / SQL» гласит:
raise_application_error(error_number, message[, {TRUE | FALSE}]);
, где
- error_number - отрицательное целое число в диапазоне -20000 .. -20999
- сообщение - это строка символов длиной до 2048 байт.
- Если необязательным третьим параметром является TRUE, ошибка помещается в стек предыдущих ошибок.Если параметр имеет значение FALSE (по умолчанию), ошибка заменяет все предыдущие ошибки.
Это означает, что вы должны использовать, например,
RAISE_APPLICATION_ERROR(-20001, 'Exceeded available quantity of book.');
То же самоеERROR_NUMBER
значение может быть использовано повторно, т. Е. все ваши собственные сообщения об ошибках могут использовать один и тот же код "-20001", если хотите.