Raise_application_error връща ли се назад?
Raise_application_error връща ли се назад?

Видео: Raise_application_error връща ли се назад?

Видео: Raise_application_error връща ли се назад?
Видео: ФИЛЬМ ВЗОРВАЛ МИР! БОГАТЫЙ НАСЛЕДНИК СТРОИТЕЛЬНОЙ КОМПАНИИ! Не оглядывайся назад! Русские сериалы 2024, Ноември
Anonim

Вътре в спусък а RAISE_APPLICATION_ERROR прави не изпълнява а ОТКЛЮЧВАНЕ , прекратява текущата операция, т.е. еднократна АКТУАЛИЗАЦИЯ/ВМЪКВАНЕ/ИЗТРИВАНЕ. А Връщане назад връща всички промени в рамките на текущата транзакция (или до дадена точка на запазване), това е различно.

По този начин какво е Raise_application_error?

Отговори на грешка_на_приложение всъщност е процедура, дефинирана от Oracle, която позволява на разработчика да повдигне изключение и да свърже номер на грешка и съобщение с процедурата. Oracle предоставя грешка_на_приложение процедура, която ви позволява да увеличавате персонализирани номера на грешки във вашите приложения.

Освен това, какво ще се случи, когато оператор за връщане назад се изпълни в тригер? Когато спусък задейства текущата транзакция все още не е завършена. Тъй като COMMIT прекратява транзакция, позволявайки им в тригери би счупете единицата работа. Така че промени изпълнено в спусък са ангажирани (или отменени) от транзакцията-притежател, която е издала DML, който е задействал спусък.

Следователно, каква е разликата между Pragma Exception_init и Raise_application_error?

прагма изключение init превръща грешка в Oracle в именуван изключение. Ако операция с база данни поражда ORA-00054 "ресурс зает", ще трябва да кодирате:. Raise_application_error се използва за ИЗВЕЖДАНЕ на грешка - изключение_инициал се използва за справяне с грешки (предполагам, че може да се каже, че са противоположни в начин).

Какво е Sqlerrm?

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

Препоръчано: