Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Programowanie baz danych

Podobne prezentacje


Prezentacja na temat: "Programowanie baz danych"— Zapis prezentacji:

1 Programowanie baz danych
PL/SQL Programowanie baz danych

2 Początki PL/SQL jest proceduralnym językiem programowania wprowadzonym przez firmę Oracle w 5 dystrybucji systemu baz danych(Oracle Database 6) Programy pisane w PL/SQL są podzielone na struktury zwane blokami, z których każdy zawiera instrukcje PL/SQL i SQL

3 Blok PL/SQL Set serveroutput on Declare Begin Exception End; /
Instrukcje deklarujące (deklarują zmienne używane w pozostałej części bloku PL/SQL. Blok ten jest opcjonalny) Begin Instrukcje wykonywane (faktyczne instrukcje wykonywane np.. Pętla, instrukcja warunkowa etc.) Exception Instrukcje obsługujące wyjątki (instrukcje obsługujące błędy wykonywania, które mogą wystąpić po uruchomieniu bloku. Blok ten jest opcjonalny) End; / Każda instrukcja kończy się średnikiem (;)

4 Przykładowy blok PL/SQL
DECLARE szerokosc integer; wysokosc integer := 2; pole integer := 6; BEGIN --szerokość ma byc równa ilorazowi pola i wysokości szerokosc:=pole/wysokosc; dbms_output.put_line('szerokość= ' || szerokość || `centymetrów`); EXCEPTION when zero_divide then dbms_output.put_line('Dzielenie przez zero'); end; /

5 Wybrane typy danych (nie odpowiadają dokładnie analogicznym typom w SQL)
number(precyzja, skala) – liczba Integer – wartości całkowite do 38 cyfr Pls_integer – wydajniejsza od dwóch poprzednich(zakres ponad 4 miliardy) Varchar2 – ciągi znakowe o zmiennej długości od 1 – 32767 Clob – do przechowywania dłuższych ciągów niż możliwości varchar2 char – typ o stałej długości. Niedobór uzupełniany spacjami Date – data i godzina Boolean – może przyjąć wartość TRUE, FALSE, NULL Komentarze: (--) – do jednej linijki tekstu (/* … */) – do wielu linijek tekstu

6 Instrukcja if – then - else
Przykładzik: declare i number:=1; begin if i>2 then dbms_output.put_line('i jest większe od 2 i wynosi ' ||i); elsif i<2 then dbms_output.put_line('i jest mniejsze od 2 i wynosi ' ||i); else dbms_output.put_line('Wartość i wynosi ' ||i); end if; end; Zwracam uwagę na wykorzystanie funkcji elsif

7 Pętla loop Declare i number:=1; Begin loop i:=i+1;
dbms_output.put_line(‘Pętla przybiera wartość ‘ || i); exit when i=10; end loop; End; Należy pamiętać by w bloku znalazło się polecenie kończące pętlę, gdyż może się to skończyć nieskończonym wykonywaniem bloku W pracy na „czystym” serwerze możliwe, że trzeba by zmienić typ zmiennej i poleceniem to_char(i), aby wyświetlić wyniki.

8 Pętla for –loop(1) Begin for i in 1..10 loop
dbms_output.put_line(‘Wartość zmiennej wynosi ‘ || i); End loop; End; Proszę zwrócić uwagę, że zmienna i nie musi być zadeklarowana ani inicjowana

9 Pętla for –loop(2) Begin for i in reverse 1..10 loop
dbms_output.put_line(‘Wartość zmiennej wynosi ‘ || i); End loop; End; Słowo kluczowe reverse odwraca kierunek iteracji. Do wcześniejszego wyjścia z pętli w każdym przypadku możemy użyć funkcji exit when [warunek]

10 Pętla while -loop Declare i number:=0; Begin while i<10 loop
dbms_output.put_line(‘Wartość zmiennej wciąż wynosi mniej niż 10 gdyż jest równe ‘ || i); i:=i+1; End loop; End; Należy pamiętać o kontrolowaniu wartości zmiennej, gdyż w innym wypadku znów możemy wpaść w niekończącą się pętlę.

11 Polecenie GOTO DECLARE tekst VARCHAR2(100); BEGIN
<<pierwszy>> tekst := 'Ala '; GOTO drugi; <<wyswietl>> DBMS_OUTPUT.PUT_LINE(tekst); GOTO koniec; <<drugi>> tekst := tekst||'ma '; GOTO trzeci; <<trzeci>> tekst := tekst||'kota.'; GOTO wyswietl; <<koniec>> -- Polecenie NULL nie wykonuje żadnej akcji. NULL; END; Etykieta musi poprzedzać polecenie wykonywane. GOTO nie może przeskakiwać warunkowych części poleceń IF-THEN-ELSE, CASE, do polecenia LOOP i do bloku podrzędnego.

12 Zakończenie Pojęcie tego tematu gwarantuje powołanie do reprezentacji DREAM TEAM SQL, którą prowadzi ceniony na całym świecie fachowiec od naturalizowania Kolumbijczyków. Oto on:


Pobierz ppt "Programowanie baz danych"

Podobne prezentacje


Reklamy Google