В предишния урок разгледахме всички необходими теории за PL/SQL пакетите в Oracle Database. Там научихме какво представляват пакетите, тяхната архитектура и синтаксиса на създаването на същите. Сега, след като видяхме всички теории, необходими за отговор на въпросите във вашия сертификационен изпит и интервю, е време да направим крачка напред и да направим пример, демонстриращ процеса на създаване на PL/SQL пакет в Oracle Database. силно>
Как да създадем пакет?
За демонстрация ще създам много прост пакет, който ще се състои от два елемента – функция и съхранена процедура. Опитах се да запазя този пример възможно най-прост, за да поддържам концепцията лесна за разбиране.
Както говорихме, докато обсъждахме архитектурата на пакета в предишния урок, пакетът е разделен на две части, които са
- Заглавка на пакета и
- Тялото на пакета
Така че първо ще започнем със създаването на заглавката на пакета
Заглавка на пакета
CREATE OR REPLACE PACKAGE pkg_RebellionRider IS FUNCTION prnt_strng RETURN VARCHAR2; PROCEDURE proc_superhero(f_name VARCHAR2, l_name VARCHAR2); END pkg_RebellionRider;
Като погледнем горния код, можем ясно да кажем, че пакетът ще съдържа два елемента на пакета, които са – PL/SQL функция prnt_strng и съхранена процедура proc_superhero.
Тяло на пакета
--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;
В горния код за тялото на пакета внедрихме и двата елемента на пакета, които дефинирахме в заглавката на пакета.
Информационен байт
И заглавката, и тялото на пакета са индивидуални обекти на база данни, така че трябва да ги компилирате отделно, за да накарате пакета си да работи.
Как да получите достъп до елементите на пакета?
Имаме заглавката и тялото на нашия пакет, създадени и компилирани успешно, какво следва? Както всеки друг обект на база данни, пакетът служи за уникална цел. С помощта на пакет можете да групирате различни обекти на база данни под едно име и тъй като PL/SQL пакетите се наричат блокове на база данни, така че те могат да се съхраняват в базата данни и да се използват по-късно, когато е необходимо.
Така че тук възниква въпросът как да получите достъп до елементите на пакета? За достъп до елементите, дефинирани и внедрени в пакет, използваме точка (.) нотация. Според което, за да получите достъп до елемента на пакета, първо трябва да напишете името на вашия пакет, последвано от оператор точка (.) и след това името на елемента на пакета.
Пример:
Например, кажете, че искате да извикате PL/SQL функцията prnt_strng на нашия пакет pkg_RebellionRider.
--Package Calling Function BEGIN DBMS_OUTPUT.PUT_LINE (PKG_RebellionRider.PRNT_STRNG); END;
В горния код, използвайки анонимен блок, извикваме функцията prnt_strng на пакета pkg_RebellionRider.
Можете да гледате видеоурока по същата тема, за да видите как да извикате процедурата proc_superhero от нашия пакет. Също така, в същото видео обясних подробно всички горни кодове. Надявам се да ви е приятно да гледате това видео. Ако е така, не забравяйте да споделите и харесате.
Можете също да споделите този блог с вашите приятели или колеги.
Благодаря и приятен ден.