PLSQL j臋zyk programowania Oracle

13/07/2008

Pakiet 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

Na przyk艂adzie przedstawi臋 z czego sk艂ada sie 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?

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

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 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