Vráti sa Raise_application_error?
Vráti sa Raise_application_error?

Video: Vráti sa Raise_application_error?

Video: Vráti sa Raise_application_error?
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, November
Anonim

Vo vnútri spúšte a RAISE_APPLICATION_ERROR áno nevykonať a ROLLBACK , preruší aktuálnu operáciu, t. j. jednu AKTUALIZÁCIU/VLOŽENIE/VYMAZANIE. A Vrátenie späť vráti všetky zmeny v rámci aktuálnej transakcie (alebo až po daný bod uloženia), to je iné.

Týmto spôsobom, čo je Raise_application_error?

Odpovedať raise_application_error je v skutočnosti procedúra definovaná spoločnosťou Oracle, ktorá umožňuje vývojárovi vyvolať výnimku a priradiť k procedúre číslo chyby a správu. Oracle poskytuje raise_application_error postup, ktorý vám umožní zvýšiť vlastné čísla chýb vo vašich aplikáciách.

Okrem toho, čo sa stane, keď sa v spúšťači vykoná príkaz na vrátenie? Keď spúšťač aktuálna transakcia stále nie je dokončená. Ako COMMIT ukončí transakciu, ktorá im to umožňuje v spúšťačoch by zlomiť jednotku práce. Takže zmeny vykonaný v spúšťači sú spáchané (alebo vrátené späť) vlastníckou transakciou, ktorá vydala DML, ktorá spustila spúšťač.

Aký je teda rozdiel medzi Pragma Exception_init a Raise_application_error?

pragma výnimka init zmení chybu Oracle na pomenovanú výnimku. Ak operácia databázy vyvolá „zaneprázdnený zdroj“ORA-00054, museli by ste kódovať:. Zvýšiť_chybu_aplikácie sa používa na VYHLÁSENIE chyby - výnimka_init sa používa na riešenie chýb (myslím, že by ste mohli povedať, že sú protiklady v spôsobom).

Čo je Sqlerrm?

SQLERRM Funkcia. Funkcia SQLERRM vráti chybovú správu spojenú s jej argumentom číslo chyby. Ak je argument vynechaný, vráti chybovú správu priradenú k aktuálnej hodnote SQLCODE. SQLERRM bez argumentu je užitočný iba v obslužnom programe výnimiek.

Odporúča: