V předchozím tutoriálu jsme probrali všechny potřebné teorie o balíčcích PL/SQL v databázi Oracle. Tam jsme se dozvěděli, co jsou balíčky, jejich architektura a syntaxe jejich vytváření. Nyní, když jsme viděli všechny teorie potřebné k zodpovězení otázek ve vaší certifikační zkoušce a pohovoru, je čas udělat krok vpřed a udělat příklad demonstrující proces vytváření balíčku PL/SQL v databázi Oracle.
Jak vytvořit balíček?
Pro demonstraci vytvořím velmi jednoduchý balíček, který se bude skládat ze dvou prvků – funkce a uložené procedury. Snažil jsem se, aby tento příklad byl co nejjednodušší, aby byl koncept snadno pochopitelný.
Jak jsme mluvili při diskuzi o architektuře balíčku v předchozím tutoriálu, balíček je rozdělen na dvě části, které jsou
- Záhlaví balíčku a
- Tělo balíčku
Začneme tedy nejprve vytvořením hlavičky balíčku
Záhlaví balíčku
CREATE OR REPLACE PACKAGE pkg_RebellionRider IS FUNCTION prnt_strng RETURN VARCHAR2; PROCEDURE proc_superhero(f_name VARCHAR2, l_name VARCHAR2); END pkg_RebellionRider;
Když se podíváme na výše uvedený kód, můžeme jasně říci, že balíček bude obsahovat dva prvky balíčku, kterými jsou – funkce PL/SQL prnt_strng a uložená procedura proc_superhero.
Tělo balíčku
--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;
Ve výše uvedeném kódu pro tělo balíčku jsme implementovali oba prvky balíčku, které jsme definovali do hlavičky balíčku.
Informační bajt
Záhlaví i tělo balíčku jsou jednotlivé databázové objekty, takže je musíte zkompilovat samostatně, aby váš balíček fungoval.
Jak získat přístup k prvkům balíčku?
Úspěšně jsme vytvořili a zkompilovali hlavičku a tělo balíčku, co dál? Jako každý jiný databázový objekt slouží balíček jedinečnému účelu. Pomocí balíčku můžete seskupovat různé databázové objekty pod jedním jménem a protože balíčky PL/SQL jsou pojmenovány databázové bloky, lze je uložit do databáze a v případě potřeby je lze použít později.
Vyvstává tedy otázka, jak získat přístup k prvkům balíčku? Pro přístup k prvkům definovaným a implementovaným do balíčku používáme tečkovou (.) notaci. Podle toho, abyste získali přístup k prvku balíčku, musíte nejprve napsat název vašeho balíčku, za ním operátor tečka (.) a poté název prvku balíčku.
Příklad:
Řekněme například, že chcete volat funkci PL/SQL prnt_strng našeho balíčku pkg_RebellionRider.
--Package Calling Function BEGIN DBMS_OUTPUT.PUT_LINE (PKG_RebellionRider.PRNT_STRNG); END;
Ve výše uvedeném kódu pomocí anonymního bloku voláme funkci prnt_strng balíčku pkg_RebellionRider.
Můžete se podívat na video tutoriál na stejné téma, abyste viděli, jak nazvat proceduru proc_superhero našeho balíčku. Ve stejném videu jsem také podrobně vysvětlil všechny výše uvedené kódy. Doufám, že se vám bude video líbit. Pokud ano, nezapomeňte sdílet a lajkovat.
Tento blog můžete také sdílet se svými přáteli nebo kolegy.
Děkuji a přeji hezký den.