PLSQL język programowania Oracle

13/07/2008

Pakiet DBMS_OUTPUT.PUT_LINE

DBMS_OUTPUT.PUT_LINE

Pakiet DBMS_OUTPUT.PUT_LINE pakiet ten służy do wyświetlania danych, komunikatów z procedury na zewnątrz, jest on  przydatny gdy chcemy wyświetlić jakiś komunikat albo dane z procedury a także dane np. z bazy danych. W środku tego  pakietu możemy pisać tekst a także podstawiać zmienne do których są podstawiane dane z procedury lub dane z bazy  danych.

Przykład poniżej:
DBMS_OUTPUT.PUT_LINE(’ Pracownik ‘ || imie_pracownika nazwisko_pracownika || ‘pracuje już’ ||  TO_CHAR(liczba_dni_pracy));

w tym pakiecie widzimy tekst stały ‘Pracownicy’ który koniecznie umieszczamy w ‘ na początku i na końcu a także zmienne  które w naszym przypadku są następujące: imie_pracownika, nazwisko_pracownika. Do łączenia stałych ze zmiennymi  używamy znaku kontatenacji (łączenia) ||

Przykład procedury PL/SQL Oracle

Procedura PL/SQL

Na przykładzie przedstawię z czego składa się przykładowa procedura PL/SQL-owa

– na początku deklaracja zmiennych, typy zmiennych analogicznie jak przy typach dla kolumn bazodanowych

DECLERE
imie_pracownika VARCHAR2(23);
nazwisko_pracownika VARCHAR2(23);
data_zatrudnienia DATE;
liczba_dni_pracy NUMBER(4);
odwrotnosc NUMBER(4);

– potem jest część główna procedury zaczyna się od BEGIN a kończy na END

BEGIN
data_zatrudnienia:= ‘01/01/1990′;
liczba_dni_pracy:=321;
imie_pracownika=’Piotr’;
nazwisko_pracownika=’Kowalski’;

– tutaj wyświetlimy te dane

DBMS_OUTPUT.PUT_LINE(’ Pracownik ‘ || imie_pracownika || nazwisko_pracownika ‘pracuje już’ ||  TO_CHAR(liczba_dni_pracy));

– tutaj pokażę działanie na zmiennych (wyliczę odwrotność liczby dni -to fikcja ale nie przychodzi mi nic lepszego  do głowy)
odwrotnosc:=1/liczba_dni_pracy;
DBMS_OUTPUT.PUT_LINE(’odwrotność liczby dni PRACY’ || TO_CHAR(odwrotnosc));

– i tutaj wyjątek tj. obsłużenie ewentualnego błędu
EXCEPTION
WHEN ZERO_DIVIDE THEN
odwrotnosc:=0;

END;
/

Program napisany w PL/SQL z czego się składa?

Program PL/SQL

PL/SQL jest rozszerzeniem SQL o możliwość pisania procedur, w tym języku możemy pisać programy używając instrukcji  warunkowej IF lub LOOP.
Z czego się składa procedura? ano tak jak i w innych językach programowania, procedura musi mieć następujące bloki:
-) deklaracja zmiennych ( DECLARE )
-) część główną w której jest serce procedury, zaczynający się od BEGIN
-) w tej części mogą być różne warunki, pętle itp, a także blok pokazywania danych a także komunikatów, do tego celu  służy pakiet DBMS_OUTPUT.PUT_LINE
-) i ostatni blok, blok obsłużenia wyjątków ( EXCEPTION )

Wprowadzanie i uruchamianie kodu PL/SQL

 Kod PL/SQL

Tak jak już wcześniej pisałem możemy pisać kod PL/SQL bezpośrednio z linii poleceń SQLPLUS-a lub z jakiegoś edytora.

Po napisaniu takiego kodu możemy go zapisać albo w pliku w systemie operacyjnym lub w bazie danych w schemacie  bazodanowym.

Po napisaniu takiego programu nie musimy go kompilować ale dobrze by było go z debagować czyli sprawdzić  czy nie ma błędów a jak ma to poprawić. Do tego celu są narzędzia umożliwiające debagowanie.

12/07/2008

PL/SQL - język SQL rozszerzony o procedury

PL/SQL a SQL

PL/SQL jest to język SQL rozszerzony o procedury czyli w tym języku możemy napisać funkcje, procedurę używającą instrukcji warunkowych, pętli i innych.

Korzystając z tego języka można napisać aplikacje która będzie obsługiwała dane w bazie danych.

PL/SQL jest językiem który został zdefiniowany przez firmę Oracle, czyli można powiedzieć że ten język jest własnością oracle i nikt inny nie korzysta z niego.

Napisane funkcje, procedury, pakiety w PL/SQL mogą być przechowywane po stronie serwera czyli w bazie danych lub po stronie klienta np. zagnieżdżone w aplikacji klienckiej.

PL/SQL możemy wykorzystać w następujący sposób: możemy napisać jakiś program i uruchamiać go przez skopiowanie z np. notatnika i wklejenie do linii poleceń SQLPLUS-a, możemy zapisać na dysku ten program ( procedurą lub funkcję) i uruchomić też z linii poleceń ale pisując @ i po niej nazwę pliku w której jest zapisana np. procedura, możemy także składować (przechowywać) procedury w bazie danych wtedy tworzymy procedurę w wybranym schemacie bazodanowym.

zasilane przez WordPress