Vrátí Raise_application_error zpět?
Vrátí Raise_application_error zpět?

Video: Vrátí Raise_application_error zpět?

Video: Vrátí Raise_application_error zpět?
Video: PL/SQL tutorial 48: Declare User-Define Exception using RAISE_APPLICATION_ERROR 2024, Smět
Anonim

Uvnitř spouště a RAISE_APPLICATION_ERROR ano neprovádět a NÁVRAT , přeruší aktuální operaci, tj. jednu AKTUALIZACI/VLOŽENÍ/VYMAZÁNÍ. A Vrátit zpět vrátí všechny změny v rámci aktuální transakce (nebo až do daného bodu uložení), to je jiné.

Tímto způsobem, co je Raise_application_error?

Odpovědět raise_application_error je ve skutečnosti procedura definovaná společností Oracle, která umožňuje vývojáři vyvolat výjimku a přiřadit k proceduře číslo chyby a zprávu. Oracle poskytuje raise_application_error postup, který vám umožní zvýšit vlastní čísla chyb ve vašich aplikacích.

Navíc, co se stane, když je uvnitř spouštěče proveden příkaz vrácení? Když spoušť aktuální transakce stále není dokončena. Protože COMMIT ukončí transakci, která jim to umožní ve spouštěcích by zlomit jednotku práce. Takže změny proveden ve spoušti jsou potvrzeny (nebo vráceny zpět) vlastnickou transakcí, která vydala DML, která spustila spoušť.

Jaký je tedy rozdíl mezi Pragma Exception_init a Raise_application_error?

pragma výjimka init změní chybu Oracle na pojmenovanou výjimku. Pokud databázová operace vyvolá ORA-00054 "zdroj zaneprázdněn", museli byste kódovat:. Raise_application_error se používá ke ZVÝŠENÍ chyby - výjimka_init se používá k řešení chyb (myslím, že byste mohli říci, že jsou protiklady v způsob).

Co je Sqlerrm?

SQLERRM Funkce. Funkce SQLERRM vrátí chybovou zprávu spojenou s argumentem číslo chyby. Pokud je argument vynechán, vrátí chybovou zprávu přidruženou k aktuální hodnotě SQLCODE. SQLERRM bez argumentu je užitečné pouze v obslužném programu výjimky.

Doporučuje: