Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Obsługa wyjątków ORACLE

Predefiniowane wyjątki PL/SQL są specjalne do Oracle. Naprawdę nie możesz z nimi zadzierać. Jeśli chcesz mieć zestaw własnych predefiniowanych wyjątków, nie możesz deklarować ich „globalnie”, jak te standardowe. Zamiast tego utwórz wyjątki pakiet, który zawiera wszystkie deklaracje wyjątków i użyj go w swojej aplikacji kod.

Przykład:

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

Teraz użyj wyjątku zdefiniowanego w pakiecie

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

Źródło:http://www.orafaq.com/wiki/Exception



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie Oracle PL/SQL nie kompiluje się

  2. ORA-22813:wartość operandu przekracza limity systemowe

  3. Zautomatyzuj większość zapytań aktualizacyjnych w pl\sql

  4. Stronicowanie za pomocą serwera Oracle i sql oraz ogólna metoda stronicowania

  5. zamiana rrrr-mm-dd na mm/dd/rrrr