Raise_application_error geri qaytarılırmı?
Raise_application_error geri qaytarılırmı?

Video: Raise_application_error geri qaytarılırmı?

Video: Raise_application_error geri qaytarılırmı?
Video: Kartınızdan çəkilən pulları qaytarmaq olar? 2024, Dekabr
Anonim

Tətik içərisində a RAISE_APPLICATION_ERROR edir yerinə yetirməmək a GERİYƏ QAYTARMAQ , cari əməliyyatı dayandırır, yəni tək YENİLƏNİB/INSERT/DELETE. A Geriyə qaytarmaq cari əməliyyat daxilində (və ya verilmiş Savepoint-ə qədər) bütün dəyişiklikləri geri qaytarır, bu fərqlidir.

Bu şəkildə, Raise_application_error nədir?

Cavab Tətbiq_xətası əslində Oracle tərəfindən müəyyən edilmiş prosedurdur ki, bu da tərtibatçıya bir istisna qaldırmağa və səhv nömrəsini və mesajını prosedurla əlaqələndirməyə imkan verir. Oracle təmin edir Tətbiq_xətası tətbiqlərinizdə fərdi xəta nömrələrini artırmağa imkan verən prosedur.

Bundan əlavə, bir geri qaytarma ifadəsi trigger daxilində icra edildikdə nə olacaq? Zaman tətik Alovlar cari əməliyyat hələ tamamlanmadı. COMMIT onlara icazə verən əməliyyatı dayandırdıqca tetikleyicilerde olardı iş vahidini pozmaq. Beləliklə, dəyişir triggerdə icra edilir işə salan DML-ni verən sahiblik əməliyyatı tərəfindən həyata keçirilir (və ya geri qaytarılır). tətik.

Pragma Exception_init və Raise_application_error arasındakı fərq nədir?

praqma istisna init Oracle xətasını adlandırılmış istisnaya çevirir. Verilənlər bazası əməliyyatı ORA-00054 "resursla məşğuldur"u yüksəldirsə, siz kodlaşdırmalı olacaqsınız:. Tətbiq_xətasını yüksəldin xətanı ARTIRMAK üçün istifadə olunur - istisna_init xətaların öhdəsindən gəlmək üçün istifadə olunur (zənnimcə, bunların əks olduğunu deyə bilərsiniz bir yol).

Sqlerrm nədir?

SQLERRM Funksiya. Funksiya SQLERRM səhv nömrəsi arqumenti ilə əlaqəli səhv mesajını qaytarır. Arqument buraxılıbsa, o, SQLCODE cari dəyəri ilə əlaqəli səhv mesajını qaytarır. SQLERRM heç bir arqument olmadan yalnız istisna işləyicisində faydalıdır.

Tövsiyə: