Raise_application_error кері қайтарыла ма?
Raise_application_error кері қайтарыла ма?

Бейне: Raise_application_error кері қайтарыла ма?

Бейне: Raise_application_error кері қайтарыла ма?
Бейне: PL/SQL tutorial 48: Declare User-Define Exception using RAISE_APPLICATION_ERROR 2024, Мамыр
Anonim

Триггер ішінде а RAISE_APPLICATION_ERROR жасайды орындамау а ҚАЙТАРУ , ол ағымдағы әрекетті тоқтатады, яғни бір ЖАҢАЛЫҚТАУ/КІРУ/ЖОЮ. А Кері қайтару ағымдағы транзакциядағы (немесе берілген Сақтау нүктесіне дейін) барлық өзгерістерді қайтарады, бұл басқаша.

Осылайша, Raise_application_error дегеніміз не?

Жауап бер қолданбаның_қателігін көтеру шын мәнінде Oracle анықтаған процедура, ол әзірлеушіге ерекше жағдайды көтеруге және қате нөмірі мен хабарды процедурамен байланыстыруға мүмкіндік береді. Oracle қамтамасыз етеді қолданбаның_қателігін көтеру қолданбаларыңызда реттелетін қате нөмірлерін көтеруге мүмкіндік беретін процедура.

Сонымен қатар, триггер ішінде кері қайтару операторы орындалғанда не болады? Қашан триггер ағымдағы транзакция әлі аяқталмаған. COMMIT оларға рұқсат беретін транзакцияны тоқтатады триггерлерде болады жұмыс бірлігін бұзу. Сонымен өзгереді триггерде орындалады іске қосылған DML шығарған иелік транзакциясы арқылы жасалады (немесе кері қайтарылады). триггер.

Оның Pragma Exception_init және Raise_application_error арасындағы айырмашылық неде?

прагма exception init Oracle қатесін аталған ерекше жағдайға айналдырады. Егер дерекқор әрекеті ORA-00054 "ресурс бос емес" мәнін көтерсе, сізге кодтау керек болады:. Қолданба_қатесін көтеру қатені көтеру үшін пайдаланылады - exception_init қателермен күресу үшін қолданылады (менің ойымша, сіз оларды қарама-қайшы деп айта аласыз ішінде жолы).

Sqlerrm дегеніміз не?

SQLERRM Функция. Функция SQLERRM оның қате саны аргументімен байланысты қате туралы хабарды қайтарады. Аргумент түсірілсе, ол SQLCODE ағымдағы мәнімен байланысты қате туралы хабарды қайтарады. SQLERRM аргументсіз тек ерекшелік өңдегішінде пайдалы.

Ұсынылған: