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

Wprowadzenie do obsługi wyjątków PL/SQL w bazie danych Oracle

Nie możemy powiedzieć, że kod jest solidny, dopóki nie obsłuży wszystkich wyjątków. Błędy i nagłe zakończenie programu to koszmary w życiu programisty. Żaden programista nie chce tworzyć kodu, który ulegnie awarii w trakcie lub będzie zachowywał się nieoczekiwanie. Dlatego dla sprawnego działania oprogramowania konieczne jest radzenie sobie z wszelkiego rodzaju wyjątkami.

Znajomość swojego problemu to pierwszy krok do znalezienia jego rozwiązania. Dowiedzmy się więc więcej o obsłudze wyjątków w bazie danych Oracle.

Co to jest wyjątek?

Wyjątkiem jest każdy nienormalny stan lub zdarzenie, które przerywa normalny przepływ instrukcji programu w czasie wykonywania. Lub prostymi słowami możesz powiedzieć, że wyjątek jest błędem w czasie wykonywania.

Bajt informacji:
Wyjątki są przeznaczone do obsługi błędów w czasie wykonywania, a nie do obsługi błędów w czasie kompilacji. Błędy występujące podczas fazy kompilacji są wykrywane przez kompilator PL/SQL i zgłaszane użytkownikowi.

Rodzaje wyjątków

W bazie danych Oracle istnieją dwa rodzaje wyjątków PL/SQL.

  1. Wyjątki zdefiniowane przez system i
  2. Wyjątki zdefiniowane przez użytkownika

Wyjątki zdefiniowane przez system

Wyjątki zdefiniowane przez system są definiowane i obsługiwane niejawnie przez serwer Oracle. Te wyjątki są zdefiniowane głównie w pakietu Oracle STANDARD . Za każdym razem, gdy w programie wystąpi wyjątek. Serwer Oracle dopasowuje i identyfikuje odpowiedni wyjątek z dostępnego zestawu wyjątków.

Wyjątki zdefiniowane przez system mają głównie negatywny kod błędu i komunikat o błędzie. Te błędy mają krótką nazwę, która jest używana z obsługą wyjątków.

Bajt informacyjny:
Oracle korzysta z dwóch funkcji narzędziowych SQLCODE i SQLERRM, aby pobrać kod błędu i komunikat dotyczący ostatniego wyjątku.

Wyjątki definiowane przez użytkownika

W przeciwieństwie do wyjątków definiowanych przez system, wyjątki definiowane przez użytkownika są zgłaszane jawnie w treści bloku PL/SQL (dokładniej w sekcji BEGIN-END) przy użyciu instrukcji RAISE.

Jak zadeklarować wyjątek zdefiniowany przez użytkownika w bazie danych Oracle.

Istnieją trzy sposoby deklarowania wyjątków zdefiniowanych przez użytkownika w Oracle Database.

  1. Deklarując zmienną typu EXCEPTION w sekcji deklaracji.

Możesz zadeklarować wyjątek zdefiniowany przez użytkownika, deklarując zmienną typu danych EXCEPTION w swoim kodzie i podnosząc ją jawnie w programie za pomocą instrukcji RAISE i obsługuj je w sekcji wyjątków.

  1. Zadeklaruj wyjątek zdefiniowany przez użytkownika za pomocą funkcji PRAGMA EXCEPTION_INIT.

Za pomocą funkcji PRAGMA EXCEPTION_INIT można zmapować niezdefiniowany wcześniej numer błędu ze zmienną o typie danych EXCEPTION. Oznacza to, że używając tej samej funkcji możesz powiązać zmienną typu danych WYJĄTEK ze standardowym błędem.

  1. Metoda RAISE_APPLICATION_ERROR.

Korzystając z tej metody, możesz zadeklarować wyjątek zdefiniowany przez użytkownika z własnym, dostosowanym numerem błędu i komunikatem.

To wszystko w tej sekcji. Mamy nadzieję, że spodobało Ci się to krótkie wprowadzenie do obsługi wyjątków w Oracle Database. W tym blogu próbowałem odpowiedzieć na kilka pytań, których możesz się spodziewać podczas certyfikacji Oracle Database, a także w wywiadu .

Bądź na bieżąco, ponieważ w następnym samouczku zrobimy kilka fajnych przykładów wyjaśniających powyższe koncepcje, które pomogą ci poszerzyć twoją wiedzę i dadzą ci silną wiedzę na temat obsługi wyjątków PL/SQL. Dzięki i życzę miłego dnia!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Łączenie się z bazą danych Oracle za pomocą SQLAlchemy

  2. Automatyczny przyrost dla Oracle

  3. Narzędzie programistyczne Oracle SQL:Pobieranie i instalacja

  4. Oracle SQL:Użyj sekwencji we wstawce z instrukcją Select

  5. Dlaczego Oracle używa DBMS_STATS.GATHER_TABLE_STATS?