In diesem Artikel erfahren Sie über eines der Fehlerbehandlungsverfahren in der Oracle-Datenbank mit dem Namen REIL RAUS_APPLICATION_ERROR.
Oracle Raise_Application_Error -Prozedur
Das Raise_Application_error in Oracle ist eine gespeicherte Prozedur, mit der Sie die benutzerdefinierten Fehlermeldungen anziehen können.
Bei der Arbeit mit der Oracle -Datenbank sind Sie möglicherweise auf eine Fehlermeldung gestoßen, wie z. B. die im Folgenden:
[42000] [904] ORA-00904: "Hi": Ungültige Kennung
Diese Art von Fehler wird als Datenbankmotor -Fehler bezeichnet. Es ist in der Oracle -Datenbank definiert und angesprochen, wenn ein bestimmter Fehler auftritt.
Mit der Prozedur raise_application_error ermöglicht Oracle unsere benutzerdefinierten Nachrichten mit einem bestimmten Fehlercode und einer meldung.
Dies kann sehr nützlich sein, wenn ein bestimmter Fehler auftritt und Sie den Benutzer mit einer deskriptiven Fehlermeldung aufmerksam machen möchten. Dies bedeutet, dass Sie die Fehlerausnahmen nicht ohne Anweisung darüber, was passiert ist.
Prozedursyntax und Parameter
Der folgende Code -Snippet legt die Syntax der Prozedur rasis_application_error fest:
raise_application_error (
Fehlernummer,
Nachricht,
[True | FALSCH]
);
Das Verfahren besteht aus drei Hauptparametern:
HINWEIS: Wenn Sie den Fehlerstapel erhalten. Wenn der Stapel nicht erhalten bleibt, ersetzt die neue Fehlermeldung alle vorherigen Fehler.
Im Folgenden finden Sie einige wesentliche Punkte für die Prozedur rasie_application_error:
Beispiel Raise_Application_error gespeicherte Prozedur Verwendung
In diesem Beispiel werden wir demonstrieren.
https: // docs.Orakel.com/cd/b13789_01/server.101/B10771/scripts003.htm
Betrachten Sie den folgenden Quellcode:
Erstellen oder Ersetzen von Prozeduren check_commission (
EMP_ID -Nummer
)
Ist
Fname Mitarbeiter.First_Name%Typ;
EM -Mitarbeiter.E -Mail%Typ;
SAL -Mitarbeiter.Gehalt%Typ;
Mitarbeiter in Auftrag geben.Provision_pct%Typ;
Start
Wählen Sie First_Name, E -Mail, Gehalt, commission_pct
in fname, em, sal, Kommission
von Mitarbeitern
wo Mitarbeiter_id = emp_id;
Wenn die Kommission null ist, dann
Raise_Application_Error (-20002, 'NULL-Provisionsprozentsatz!!'|| emp_id);
Ende wenn;
Ausnahme
Wenn andere dann
Dbms_output.Put_line ('SQLCode:' || SQLCode);
Dbms_output.Put_line ('SQLERRM:' || SQLERRM);
Ende;
Das vorherige Beispiel beginnt mit dem Erstellen eines Verfahrens, das eine Mitarbeiter -ID akzeptiert. Wir verwenden dann den Mitarbeiter, um die Werte der Mitarbeiter auszuwählen. Schließlich verwenden wir eine IF -Erklärung, um zu überprüfen, ob die Kommission der empfangenen Reihe null ist. Wenn es wahr ist, stellen wir eine Ausnahme an.
Wir können die Prozedur mit der Ziel -Personal -ID aufrufen:
Anruf check_commission (100);
Ausgang:
SQLCODE -438
SQLERRM: SQL0438N -Anwendung Erhöhter Fehler oder Warnung mit diagnostischem Text: "NULL -Provisionsprozentsatz:. Sqlstate = ud030
Abschluss
In diesem Tutorial haben Sie erfahren.