BD-1st-2.4-lab13.tresc-1.1-Slajd8

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Procedura PL/SQL (2)

Procedura PL/SQL (2)


Bieżący slajd przedstawia polecenie tworzące procedurę o nazwie WstawPracownika. Procedura ma cztery parametry formalne: p_id_prac, p_nazwisko, p_imie oraz p_nazwa_zespolu, wszystkie parametry przekazywane są w trybie IN. Parametr p_nazwa_zespolu ma zdefiniowaną wartość domyślną (wartość pustą NULL). W sekcji deklaracji procedury zadeklarowano jedną zmienną numeryczną o nazwie v_id_zesp.

Omówimy teraz ciało procedury. Jeśli wartość parametru p_nazwa_zespolu nie jest pusta, wówczas wykonywane jest zapytanie odczytujące identyfikator zespołu, którego nazwa została przekazana do procedury przez parametr p_nazwa_zespolu. Wartość odczytanego identyfikatora zostaje zapamiętana w zmiennej v_id_zesp. Jeśli polecenie nie znajdzie zespołu (oznacza to, że w parametrze p_nazwa_zespolu przekazano do procedury nazwę nieistniejącego zespołu), generuje ono wyjątek NO_DATA_FOUND, który jest przechwytywany przez klauzulę obsługi błędów procedury. W przypadku wystąpienia tego wyjątku procedura jest przerywana przez wykonanie polecenia raise_application_error z zasygnalizowaniem błędu o numerze–20001 i wyświetleniem komunikatu „Zła nazwa zespołu”. Jeśli odczyt identyfikatora zespołu się powiedzie lub parametr p_id_zespolu przechowuje wartość pustą, wykonywane jest drugie polecenie w ciele procedury, polecenie INSERT, które wstawia do relacji PRACOWNICY dane nowego pracownika. Zauważmy, że wartości dla atrybutów ID_PRAC, NAZWISKO i IMIE pobierane są z parametrów formalnych procedury, wartość dla ID_ZESP jest pobierana ze zmiennej v_id_zesp (może być pusta).


<< Poprzedni slajd | Spis treści | Następny slajd >>