sql >> Database teknologi >  >> RDS >> Oracle

Håndter ORACLE-undtagelser

De foruddefinerede PL/SQL-undtagelser er specielle til Oracle. Du kan virkelig ikke rode med dem. Når du vil have et sæt af dine egne foruddefinerede undtagelser, kan du ikke erklære dem "globalt" som standard. Opret i stedet en undtagelser pakke, som har alle undtagelseserklæringerne, og brug det i din applikation kode.

Eksempel:

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;
/

Brug nu undtagelsen defineret i pakken

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;
/

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



  1. Generel fejl:1615 Udarbejdet erklæring skal genforberedes

  2. Skinner:PG::InsufficientPrivilege:FEJL:tilladelse nægtet til relation schema_migrations

  3. Opret en automatisk stigningskolonne i SQLite

  4. sql - enkelt forespørgsel for at returnere værdier, der ikke er til stede