Tutaj będziemy omawiać strukturę i typy bloków Oracle PLSQL
Co to jest PL/SQL
PL/SQL to zastrzeżone rozszerzenie Oracle do SQL, które zapewnia możliwości języka proceduralnego. Daje wszystkie funkcje nowoczesnej inżynierii oprogramowania, takie jak enkapsulacja danych, obsługa wyjątków, ukrywanie informacji i orientacja obiektowa
Dlaczego warto korzystać z PLSQL
1) Integracja z narzędziami programistycznymi, takimi jak formularze Oracle, raporty
2) Wiele instrukcji można zgrupować w pojedynczy blok plsql i wysłać do serwera Oracle, co spowoduje mniejszy ruch w sieci
3) Modularny rozwój programu:podziel złożoną logikę/problem na zestaw łatwych do zarządzania, dobrze zdefiniowanych modułów logicznych i zaimplementuj je za pomocą bloków
4) Przenośność:ponieważ jest natywny dla serwera Oracle, można go łatwo przenieść
5) Zapewnia struktury kontroli języka proceduralnego, takie jak warunek warunkowy, pętla
6) Ma możliwość obsługi błędów i na ich podstawie zgłaszania wyjątków
Struktura bloku PLSQL
Blok plsql jest tworzony w trzech sekcjach Deklaracja, plik wykonywalny i wyjątek.
DECLARE (opcjonalnie) – ta sekcja zawiera zmienne, stałe, kursory i wyjątki zdefiniowane przez użytkownika. BEGIN(Obowiązkowe) WYKONALNY – ta sekcja zawiera wszelkie instrukcje SQL. WYJĄTEK (opcjonalnie)- ta sekcja zawiera programy obsługi błędów.KONIEC (obowiązkowe); |
Tak więc sekcja Deklaracja i wyjątek są opcjonalne.
Przykładowa struktura bloku
DECLARE l_number NUMBER; BEGIN l_number := 1; Dbms_output.put_line(l_number); Exception When others then Dbms_output.put_line(‘Exception occurred’); END; /
Ważne punkty do zanotowania
1) Wszystkie zmienne i stałe są zdefiniowane w sekcji deklaracji
2) Wstaw średnik; na końcu instrukcji sql lub instrukcji kontrolnej plsql
3) W PL/SQL wszystkie błędy są obsługiwane w bloku wyjątków.
4) Początek i Koniec to obowiązkowe instrukcje wskazujące początek i koniec bloku PL/SQL.
5) Zmienne i stałe muszą być zadeklarowane jako pierwsze, zanim będą mogły zostać użyte.
6) Wartości mogą być przypisane do zmiennych bezpośrednio za pomocą operatora przypisania „:=”, za pomocą instrukcji SELECT … INTO lub Gdy jest używany jako parametr OUT lub IN OUT z procedury.
7) Słowo kluczowe sekcji Zadeklaruj, Rozpocznij, wyjątek nie jest poprzedzone średnikiem
8) End i wszystkie inne instrukcje plsql wymagają średnika, aby zakończyć instrukcję
Typy bloków PLSQL
Anonimowy :Bloki anonimowe to bloki nienazwane. Są deklarowane w miejscu w aplikacji, w którym muszą zostać wykonane
DECLARE l_number NUMBER; BEGIN l_number := 1; Dbms_output.put_line(l_number); Exception When others then Dbms_output.put_line(‘Exception occurred’); END; /
Funkcja :Są to nazwy bloków PLSQL, które mogą przyjąć parametr i obliczyć jakąś funkcję oraz ją zwrócić. Może być przechowywany na serwerze lub aplikacji Oracle
Syntax FUNCTION name [(parameter[, parameter, …])] RETURN datatype IS [local declarations] BEGIN executable statements [EXCEPTION exception handlers] END [name]; Example Create or replace function FUNC return number As l_number NUMBER; BEGIN Select count(*) into l_number from emp; return(l_number) END; /
Procedura :Są to nazwy bloków PLSQL, które mogą przyjmować parametry i przetwarzać niektóre informacje oraz mogą lub mogą zwracać wartości. Może być przechowywany na serwerze lub aplikacji Oracle
Syntax PROCEDURE name [(parameter[, parameter, …])] IS [local declarations] BEGIN executable statements [EXCEPTION exception handlers] END [name]; Example Create or replace procedure remove_emp (emp_id number) As BEGIN Delete from emp where employee_id=emp_id; END; /
Różnica między funkcją a procedurą
Funkcja | Procedura |
Funkcja musi zwracać wartość | Procedura nie musi |
Składnia | Składnia |
nazwa FUNKCJI (lista argumentów …..) Zwracany typ danych to | Nazwa PROCEDURY (lista parametrów…..) |
deklaracje zmiennych lokalnych | jest |
Rozpocznij | deklaracje zmiennych lokalnych |
wykonywalne instrukcje | POCZĄTEK |
Wyjątek | Wykonywalne instrukcje. |
programy obsługi wykonywania | Wyjątek. |
Koniec; | obsługa wyjątków |
koniec; | |
Funkcja może być używana w SQL z pewnymi ograniczeniami | Procedura nie może być wywołana bezpośrednio z SQL. |
Składnia i wytyczne dotyczące bloków Oracle PLSQL
1) Literały znaków i daty muszą być ujęte w pojedyncze cudzysłowy
2) Umieść komentarze w wielu wierszach między /* a */
3) Większość funkcji sql może być używana w PLSQL. Mamy funkcję char,date,number dostępną w PLSQL, podobnie jak SQL
4) grupowanie według funkcji nie są dostępne w PLSQL. Może być używany tylko w instrukcji sql w PLSQL
5) Powinniśmy używać odpowiedniego wcięcia, aby kod był czytelny
6) Zaleca się pisanie instrukcji DML wielkimi literami, słowa kluczowe PLSQL, typy danych wielkimi literami oraz umieszczanie identyfikatorów i parametrów małymi literami dla lepszej czytelności i obsługi
Powiązane linki
Dokumentacja Oracle PLSQL
Najczęściej zadawane 25 pytań dotyczących Oracle PlSQL
Oracle sql i plsql
jak pisać zapytania sql