W poprzednim samouczku omówiliśmy wszystkie niezbędne teorie dotyczące pakietów PL/SQL w Oracle Database. Tam dowiedzieliśmy się, czym są pakiety, ich architektura i składnia ich tworzenia. Teraz, gdy znamy już wszystkie teorie wymagane do odpowiedzi na pytania na egzaminie certyfikacyjnym i rozmowie kwalifikacyjnej, nadszedł czas, aby zrobić krok do przodu i zrobić przykład demonstrujący proces tworzenia pakietu PL/SQL w Oracle Database.
Jak stworzyć pakiet?
Na potrzeby demonstracji stworzę bardzo prosty pakiet, który będzie składał się z dwóch elementów – funkcji i procedury składowanej. Starałem się, aby ten przykład był jak najprostszy, aby koncepcja była łatwa do zrozumienia.
Jak mówiliśmy podczas omawiania architektury pakietu w poprzednim samouczku, pakiet jest podzielony na dwie części, które są
- Nagłówek pakietu i
- Ciało pakietu
Więc zaczniemy od utworzenia nagłówka pakietu
Nagłówek pakietu
CREATE OR REPLACE PACKAGE pkg_RebellionRider IS FUNCTION prnt_strng RETURN VARCHAR2; PROCEDURE proc_superhero(f_name VARCHAR2, l_name VARCHAR2); END pkg_RebellionRider;
Patrząc na powyższy kod możemy jasno powiedzieć, że pakiet będzie zawierał dwa elementy pakietu, którymi są – funkcja PL/SQL prnt_strng i procedura składowana proc_superhero.
Opakowanie
--Package Body CREATE OR REPLACE PACKAGE BODY pkg_RebellionRider IS --Function Implimentation FUNCTION prnt_strng RETURN VARCHAR2 IS BEGIN RETURN 'RebellionRider.com'; END prnt_strng; --Procedure Implimentation PROCEDURE proc_superhero(f_name VARCHAR2, l_name VARCHAR2) IS BEGIN INSERT INTO new_superheroes (f_name, l_name) VALUES(f_name, l_name); END; END pkg_rrdr;
W powyższym kodzie dotyczącym treści pakietu zaimplementowaliśmy oba elementy pakietu, które zdefiniowaliśmy w nagłówku pakietu.
Bajt informacyjny
Zarówno nagłówek, jak i treść pakietu są osobnymi obiektami bazy danych, dlatego musisz je skompilować osobno, aby Twój pakiet działał.
Jak uzyskać dostęp do elementów pakietu?
Utworzyliśmy i skompilowaliśmy nasz nagłówek i treść pakietu, co dalej? Jak każdy inny obiekt bazy danych, pakiet służy unikalnemu celowi. Używając pakietu możesz zgrupować różne obiekty bazy danych pod jedną nazwą, a ponieważ pakiety PL/SQL są nazwane blokami bazy danych, dzięki czemu mogą być przechowywane w bazie danych i mogą być użyte później, gdy zajdzie taka potrzeba.
Powstaje więc pytanie, jak uzyskać dostęp do elementów pakietu? Aby uzyskać dostęp do elementów zdefiniowanych i zaimplementowanych w pakiecie, używamy notacji z kropką (.). Zgodnie z którym, aby uzyskać dostęp do elementu pakietu, musisz najpierw wpisać nazwę swojego pakietu, po której następuje operator kropki (.), a następnie nazwę elementu pakietu.
Przykład:
Na przykład powiedz, że chcesz wywołać funkcję PL/SQL prnt_strng naszego pakietu pkg_RebellionRider.
--Package Calling Function BEGIN DBMS_OUTPUT.PUT_LINE (PKG_RebellionRider.PRNT_STRNG); END;
W powyższym kodzie za pomocą bloku anonimowego wywołujemy funkcję prnt_strng pakietu pkg_RebellionRider.
Możesz obejrzeć samouczek wideo na ten sam temat, aby zobaczyć, jak wywołać procedurę proc_superhero naszego pakietu. Ponadto w tym samym filmie szczegółowo wyjaśniłem wszystkie powyższe kody. Mam nadzieję, że spodoba ci się oglądanie tego filmu. Jeśli tak, upewnij się, że udostępniasz i lubisz.
Możesz także udostępnić tego bloga swoim znajomym lub współpracownikom.
Dzięki i życzę miłego dnia.