pl sql package oracle pl sql package tutorial with examples
Poznaj pakiet PL SQL, jego zalety, specyfikacje i strukturę:
W tym artykule będziemy kontynuować Seria PL / SQL . w PL SQL Records samouczek, dowiedzieliśmy się o rekordach i typach rekordów z przykładami programowania.
Tutaj zbadamy pakiety w PL / SQL i kilka ważnych funkcji pakietów. Omówimy również niektóre podstawowe operacje na nich.
Omówimy również pakiety dbms_ouput w PL / SQL i jego podprogramy.
Zacznijmy od nauki !!
Czego się nauczysz:
Pakiet PL SQL
Pakiet to obiekt w postaci schematu, który segreguje logicznie połączone elementy, typy i podprogramy w PL / SQL. Pakiet składa się z dwóch części: Specyfikacja pakietu i Treść lub definicja pakietu .
Specyfikacja pakietu jest jak interfejs do aplikacji i służy do deklarowania zmiennych, stałych, typów, wyjątków, kursorów i podprogramów. Treść pakietu implementuje podprogramy i kursory zadeklarowane w specyfikacji pakietu.
Możemy aktualizować, debugować lub zmieniać treść pakietu bez dotykania specyfikacji pakietu (nazywanej również interfejsem pakietu).
Zalety pakietu PL / SQL
Zalety pakietu są wymienione poniżej:
- Daje modułowość naszemu kodowi.
- Pomaga w łatwym zaprojektowaniu aplikacji.
- Pakiet PLSQL pomaga ukryć informacje za pomocą elementów publicznych i prywatnych, typów danych i podprogramów.
- pakiet umożliwia zachowanie informacji o wszystkich transakcjach bez konieczności przechowywania ich w bazie danych.
- Pakiety pomagają poprawić wydajność wykonywania.
Specyfikacja pakietu
Specyfikacja pakietu jest jak interfejs do pakietu. Dba o deklarację zmiennych, stałych, typów, wyjątków, kursorów i podprogramów. W ten sposób zawiera wszystkie szczegóły dotyczące zawartości pakietu, ale nie ma implementacji podprogramów.
Obiekty wewnątrz specyfikacji pakietu są obiektami publicznymi. Wszystkie podprogramy zaimplementowane w treści pakietu są obiektami prywatnymi. W specyfikacji pakietu możemy zadeklarować wiele zmiennych globalnych, funkcji lub procedur.
Specyfikacja pakietu jest niezależną jednostką i może istnieć bez treści pakietu.
Implementacja kodu:
CREATE PACKAGE citi AS FUNCTION p_strng RETURN VARCHAR2; END citi; /
Wyjście powyższego kodu:
Treść pakietu
Treść pakietu zawiera implementację kursorów i podprogramów zadeklarowanych w specyfikacji pakietu. Należy pamiętać, że do podprogramów zaimplementowanych w treści pakietu można uzyskać dostęp poza pakietem, o ile są zadeklarowane w specyfikacji pakietu.
Podprogram zadeklarowany w specyfikacji i treści pakietu musi być dokładny. To porównanie jest wykonywane dla każdego tokena ich nagłówków. W przypadku, gdy nie pasują, PL / SQL zgłasza wyjątek.
jak stworzyć program komputerowy dla początkujących
Treść pakietu może zawierać inne podprogramy, które nie są zadeklarowane w specyfikacji pakietu. W takim przypadku są one prywatne tylko dla tego pakietu. UTWÓRZ CIAŁO PAKIETU jest słowem kluczowym używanym do tworzenia treści pakietu.
Weźmy przykład, aby utworzyć treść pakietu dla inni pakiet.
Implementacja kodu z treścią pakietu.
jak zostać liderem w książce
CREATE OR REPLACE PACKAGE BODY citi AS --function implemented FUNCTION p_strng RETURN VARCHAR2 IS BEGIN RETURN 'Software Testing Help!'; END p_strng; END citi; /
Wynik powyższego kodu powinien być.
Zobacz elementy opakowania
Ponieważ skończyliśmy deklarowanie elementów w specyfikacji pakietu i implementowanie ich w treści pakietu, musimy odwołać się do tych elementów. Elementy pakietu składają się z funkcji, procedur i zmiennych.
Dostęp do tych publicznych elementów pakietu można uzyskać, wpisując nazwę pakietu, po której następuje nazwa elementu oddzielona kropką (.).
Składnia:
package_name.element_name;
Implementacja kodowania dostępu do elementów:
BEGIN DBMS_OUTPUT.PUT_LINE (citi.p_strng); END;
Wyjście powyższego kodu:
Utwórz pakiet PL SQL
Jeśli pakiet jest wywoływany lub odwoływany w sesji, nowa instancja tego pakietu zostanie utworzona w PL / SQL. Mamy możliwość zainicjowania elementów pakietu lub wykonania innych czynności podczas tworzenia instancji za pomocą bloku kodu Package Initialization. To jest wykonywalny blok kodu w treści pakietu po zainicjowaniu elementów pakietu.
Składnia tworzenia pakietu:
CREATE (OR REPLACE) PACKAGE BODY IS BEGIN END
Tutaj pakiet_n to nazwa pakietu.
Przeciążanie paczki
W pakiecie może znajdować się wiele podprogramów o podobnych nazwach. Ta funkcja jest przydatna, jeśli chcemy mieć jednorodne parametry z niejednorodnymi typami danych. Koncepcja przeciążenia w pakiecie pozwala programistom wyraźnie wskazać rodzaj akcji, którą chcą wykonać.
Implementacja kodowania z przeładowaniem procedur. (Utworzono pakiet):
CREATE PACKAGE overloadingprocedure AS Procedure overl_method (p varchar2); Procedure overl_method (numbr number); END overloadingprocedure; /
Wyjście powyższego kodu:
Implementacja kodowania z przeładowaniem procedur. (Utworzono treść pakietu)
CREATE OR REPLACE PACKAGE BODY overloadingprocedure AS --procedure implemented Procedure overl_method (p varchar2) AS BEGIN DBMS_OUTPUT.PUT_LINE ('First Procedure: ' || p); END; --procedure implemented Procedure overl_method (numbr number) AS BEGIN DBMS_OUTPUT.PUT_LINE ('Second Procedure: ' || numbr); END; END; /
Wyjście powyższego kodu:
Implementacja kodowania z przeładowaniem procedur. (Procedura dotycząca pakietu)
BEGIN overloadingprocedure.overl_method ('Software Testing Help'); overloadingprocedure.overl_method (1); END;
Wyjście powyższego kodu:
Zależność pakietu PLSQL
Zależności pakietów w PL / SQL są wymienione poniżej:
- Specyfikacja pakietu to niezależna tożsamość.
- Treść pakietu jest zależna od specyfikacji pakietu.
- Treść pakietu można skompilować tylko oddzielnie. Jeśli jednak kompilowana jest specyfikacja pakietu, treść musi zostać ponownie skompilowana.
- Funkcja lub procedura w treści pakietu, która zależy od elementów prywatnych, powinna zostać zaimplementowana po deklaracji elementów prywatnych.
Wskazówki dotyczące tworzenia pakietu w PL SQL:
- Pakiet powinien być napisany w sposób ogólny, aby można go było ponownie wykorzystać w przyszłości.
- Unikaj zduplikowanych cech w pakiecie.
- Specyfikacja pakietu zawiera klucz do odpowiednio zaprojektowanej aplikacji. Uzupełnij specyfikację pakietu przed utworzeniem treści pakietu.
- Specyfikacja pakietu powinna zawierać tylko pozycje, podprogramy i typy, które muszą być dostępne dla użytkowników pakietu. Nie powinien zawierać niepotrzebnych informacji o implementacji.
- Specyfikacja paczki powinna zawierać ograniczoną liczbę pozycji. Pozwoli to zaoszczędzić czas na rekompilację kodu, ponieważ modyfikacja specyfikacji pakietu wymaga, aby PL / SQL przekompilował wszystkie podprogramy, które odnoszą się do pakietu.
Informacje o paczce w PL / SQL
Wszystkie istotne szczegóły, takie jak źródło pakietu, podprogramy i przeciążone elementy, są przechowywane w tabelach definicji danych po utworzeniu pakietu.
Lista tabel definicji danych jest następująca:
- USER_PROCEDURES: Ta tabela zawiera informacje o podprogramie, takie jak przeciążone elementy, identyfikator_obiektu itd. Dla bieżącego użytkownika.
- ALL_PROCEDURES: Ta tabela zawiera informacje o podprogramie, takie jak przeciążone elementy, identyfikator_obiektu itd. Dla wszystkich użytkowników.
- USER_SOURCE: Ta tabela zawiera informacje o źródle obiektów dla bieżącego użytkownika.
- ALL_SOURCE: Ta tabela zawiera informacje o źródle obiektów dla wszystkich użytkowników.
- ALL_OBJECT: Ta tabela zawiera informacje o pakiecie, takie jak data_tworzenia, identyfikator_obiektu i inne szczegóły obiektu dla wszystkich użytkowników.
Wyjście DBMS w PL / SQL
Pakiet DBMS_OUTPUT umożliwia wyświetlanie wyjścia PL / SQL utworzonego z podprogramów i bloków kodu. Pomaga nam to debugować, testować nasz kod i wysyłać wiadomości.
Plik put_line procedura tworzy dane wyjściowe do bufora. Informacje są wyświetlane za pomocą get_line procedury lub konfigurując SERVEROUTPUT ON w SQL * Plus.
Pakiet DBMS_OUTPUT zawiera następujące podprogramy:
Sl No. | Nazwa | Cele |
---|---|---|
1 | DBMS_OUTPUT.DISABLE | Ogranicza wyjście komunikatu. |
dwa | DBMS_OUTPUT.ENABLE (bufor IN INTEGER DEFAULT 20000) | Umożliwia wyprowadzanie wiadomości. Jeśli bufor ma wartość NULL, reprezentuje on nieograniczony rozmiar buforu. |
3 | DBMS_OUTPUT.GET_LINE (wiersz OUT VARCHAR, status OUT NUMBER) | Pobiera zbuforowane informacje w jednej linii. |
4 | DBMS_OUTPUT.NEW_LINE | Kończy znacznik końca linii. |
5 | DBMS_OUTPUT.PUT (pozycja W VARCHAR) | Umieszcza niepełną linię w buforze. |
6 | DBMS_OUTPUT.PUT_LINE (pozycja W VARCHAR) | Umieszcza pełną linię w buforze. |
Implementacja kodu:
DECLARE BEGIN DBMS_OUTPUT.PUT_LINE ('Software Testing Help!'); END;
Wyjście powyższego kodu:
Często zadawane pytania i odpowiedzi
Pytanie 1) Co to jest pakiet w PL SQL?
Odpowiedź: Pakiet jest schematem obiektu, który kategoryzuje logicznie powiązane zmienne, stałe, kursory, podprogramy i typy.
Pytanie 2) Jakie są zalety pakietów PL SQL?
Odpowiedź: Poniżej wymieniono zalety pakietu:
- Dzięki pakietom projektowanie aplikacji staje się łatwe.
- Dzięki pakietom możemy osiągnąć hermetyzację.
- Pakiety pomagają uzyskać lepszą wydajność pod względem szybkości wykonywania.
- Dzięki pakietom kod staje się bardziej modułowy.
Pytanie 3) Czy możemy utworzyć treść pakietu bez specyfikacji?
Odpowiedź: Tak, możemy utworzyć treść pakietu bez specyfikacji pakietu.
Q # 4) Co to jest Dbms_output Put_line w PL SQL?
Odpowiedź: Dbms_output put_line to procedura w Oracle, która umożliwia nam zapisywanie informacji w pliku płaskim lub na ekranie wyjściowym PL / SQL.
Pytanie 5) Co to jest Dbms_output?
Odpowiedź: Dbms_output to domyślny pakiet, który pozwala nam wyświetlać informacje debugowania, dane wyjściowe i wysyłać komunikaty z podprogramów, wyzwalaczy, pakietów i bloku kodu PL / SQL
oprogramowanie do zgrywania płyt DVD dla systemu Windows 10
Wniosek
W tym samouczku szczegółowo omówiliśmy kilka podstawowych pojęć dotyczących pakietów PL SQL, które są niezbędne do używania ich w rzeczywistych aplikacjach.
Omówiliśmy następujące tematy wymienione poniżej:
- Opakowania i ich budowa.
- Różne funkcje pakietów.
- Wyjście DBMS.
- Podprogramy pakietu DBMS_OUTPUT.
<< PREV Tutorial | NASTĘPNY samouczek >>
rekomendowane lektury
- Samouczek języka PL SQL dla początkujących z przykładami | Co to jest PL / SQL
- PL SQL Records Tutorial z przykładami
- PL SQL Kursor i ciągi znaków: samouczek z przykładami kodu
- Python DateTime Tutorial z przykładami
- Tworzenie aplikacji bazodanowych Oracle: Oracle SQL i PL / SQL
- Najpopularniejsze pytania do wywiadów Oracle: pytania dotyczące Oracle Basic, SQL, PL / SQL
- Różnica między SQL a MySQL i SQL Server (z przykładami)
- Najczęstsze pytania do wywiadów z Oracle Forms and Reports