Ali se Raise_application_error povrne nazaj?
Ali se Raise_application_error povrne nazaj?

Video: Ali se Raise_application_error povrne nazaj?

Video: Ali se Raise_application_error povrne nazaj?
Video: ⚡️ НОВАЯ ХАЛЯВА на MYCSGO - ЛУТАЕМ КРУТЫЕ БОНУСЫ | Бесплатные Скины CS GO | Сайты с Халявой КС ГО 2024, Maj
Anonim

V notranjosti sprožilca a RAISE_APPLICATION_ERROR ne izvajati a VRANJE , prekine trenutno operacijo, to je eno UPDATE/INSERT/DELETE. A Vrnitev nazaj razveljavi vse spremembe znotraj trenutne transakcije (ali do dane Savepoint), to je drugače.

Kaj je na ta način Raise_application_error?

Odgovori raise_application_error je pravzaprav postopek, ki ga definira Oracle, ki omogoča razvijalcu, da sproži izjemo in s postopkom poveže številko napake in sporočilo. Oracle zagotavlja raise_application_error postopek, ki vam omogoča dvig številk napak po meri v vaših aplikacijah.

Poleg tega, kaj se bo zgodilo, ko se v sprožilcu izvede stavek za povrnitev? Ko sprožilec sproži trenutna transakcija še ni končana. Ker COMMIT konča transakcijo, ki jim omogoča v sprožilcih bi zlomi enoto dela. Torej spremembe izvedeno v sprožilcu so zavezani (ali povrnjeni) z lastniško transakcijo, ki je izdala DML, ki je sprožila sprožilec.

Kakšna je torej razlika med Pragma Exception_init in Raise_application_error?

pragma Izjema init spremeni napako Oracle v poimenovano izjemo. Če operacija baze podatkov dvigne ORA-00054 "vir zaseden", bi morali kodirati:. Raise_application_error se uporablja za VZIVANJE napake - izjema_init se uporablja za obravnavo napak (mislim, da bi lahko rekli, da so nasprotja v način).

Kaj je Sqlerrm?

SQLERRM Funkcija. Funkcija SQLERRM vrne sporočilo o napaki, povezano z njegovim argumentom številka napake. Če je argument izpuščen, vrne sporočilo o napaki, povezano s trenutno vrednostjo SQLCODE. SQLERRM brez argumenta je uporaben samo v obdelovalcu izjem.

Priporočena: