Откат Raise_application_error?
Откат Raise_application_error?

Видео: Откат Raise_application_error?

Видео: Откат Raise_application_error?
Видео: PL/SQL для новичков 24 2024, Ноябрь
Anonim

Внутри триггера RAISE_APPLICATION_ERROR делает не выполнять ОТКАТ , он прерывает текущую операцию, то есть однократное UPDATE / INSERT / DELETE. А Откат отменяет все изменения в текущей транзакции (или до заданной точки сохранения), это другое.

Таким образом, что такое Raise_application_error?

Ответ: Raise_application_error фактически является процедурой, определенной Oracle, которая позволяет разработчику вызвать исключение и связать номер ошибки и сообщение с процедурой. Oracle предоставляет Raise_application_error процедура, позволяющая вам повышать пользовательские номера ошибок в ваших приложениях.

Кроме того, что произойдет, если внутри триггера будет выполнен оператор отката? Когда курок запускает текущую транзакцию, которая еще не завершена. Поскольку COMMIT завершает транзакцию, разрешая им в триггерах сломать единицу работы. Итак, изменения выполняется в триггере фиксируются (или откатываются) транзакцией-владельцем, которая выпустила DML, который запустил курок.

В чем разница между Pragma Exception_init и Raise_application_error?

прагма Исключение init превращает ошибку Oracle в именованное исключение. Если операция с базой данных вызывает ошибку ORA-00054 «ресурс занят», вам нужно будет ввести код:. Raise_application_error используется, чтобы ПОДНЯТЬ ошибку - exception_init используется для работы с ошибками (я думаю, вы могли бы сказать, что они противоположны в способ).

Что такое Sqlerrm?

SQLERRM Функция. Функция SQLERRM возвращает сообщение об ошибке, связанное с его аргументом номера ошибки. Если аргумент опущен, возвращается сообщение об ошибке, связанное с текущим значением SQLCODE. SQLERRM без аргумента полезен только в обработчике исключений.

Рекомендуемые: