Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Behandeln Sie ORACLE-Ausnahmen

Die vordefinierten PL/SQL-Ausnahmen sind speziell zu Orakel. Mit denen kann man wirklich nichts anfangen. Wenn Sie selbst einen Satz vordefinierter Ausnahmen haben möchten, können Sie diese nicht wie die Standardausnahmen "global" deklarieren. Erstellen Sie stattdessen eine Ausnahme Paket, das alle Ausnahmedeklarationen enthält, und verwenden Sie es in Ihrer Anwendung Code.

Beispiel:

CREATE OR REPLACE PACKAGE my_exceptions
AS
  insert_null_into_notnull EXCEPTION;
  PRAGMA EXCEPTION_INIT(insert_null_into_notnull, -1400);

  update_null_to_notnull EXCEPTION;
  PRAGMA EXCEPTION_INIT(update_null_to_notnull, -1407);
END my_exceptions;
/

Verwenden Sie nun die im Paket definierte Ausnahme

CREATE OR REPLACE PROCEDURE use_an_exception AS
BEGIN
  -- application specific code ...
  NULL;
EXCEPTION
  WHEN my_exceptions.insert_null_into_notnull THEN
     -- application specific handling for ORA-01400: cannot insert NULL into (%s)
     RAISE;
END;
/

Quelle:http://www.orafaq.com/wiki/Exception