Разница между стандартными и пользовательскими исключениями в PL/SQL заключается в том, что стандартные исключения предопределены и создаются сервером базы данных автоматически при возникновении внутренней ошибки базы данных. 2 Например, исключение NODATAFOUND возникает, когда оператор SELECT INTO не возвращает строк. 2
Пользовательские исключения определяются программистом в соответствии с потребностями программы. 2 Пользовательское исключение должно быть объявлено, а затем вызвано явно, используя либо оператор RAISE, либо процедуру DBMSSTANDARD.RAISEAPPLICATION_ERROR. 2
Таким образом, стандартные исключения возникают автоматически, а пользовательские — создаются программистом явно. 25
Некоторые примеры стандартных исключений: NODATAFOUND (возникает, если SQL-запрос не возвращает строк), TOOMANYROWS (выбрасывается, если SELECT INTO возвращает больше одной строки), ZERO_DIVIDE (ошибка деления на ноль). 1