V Oracle musíte nejprve deklarovat proceduru ve specifikaci balíčku a poté vytvořit celou proceduru v těle balíčku. Protože pokud se pokusíte vytvořit proceduru pouze v těle balíčku bez její deklarace ve specifikaci balíčku, dostanete chybu PLS-00302 komponenta musí být deklarována a ORA-06550 neplatný PL/SQL blok. Níže tedy uvádím příklad, jak vytvořit proceduru uvnitř balíčku v Oracle.
V tomto příkladu vytvoříme proceduru update_comm pro aktualizaci provize v EMP tabulce. Tento postup použije parametr pro procento provize.
Vytvořte proceduru uvnitř balíčku v příkladu Oracle
Uveďte postup ve specifikaci balíčku
VYTVOŘTE NEBO VYMĚŇTE BALÍČEK emp_pkgISPROCEDURE update_comm (i_comm IN emp.comm%TYPE);END emp_pkg;
Vytvořte úplný postup v těle balíčku
VYTVOŘTE NEBO VYMĚŇTE TĚLO BALÍKU emp_pkgISPROCEDURE update_comm (i_comm IN emp.comm%TYPE)ISBEGINAKTUALIZACE empSET comm =sal * NVL (i_comm, 0) / 100;COMMIT;END update_comm;END emp_pkg;Nyní můžete provést tento postup následovně:
BEGIN/* Aktualizační provize s 5 % z platu */emp_pkg.update_comm (5);END;