2. Zergaitik PL/SQL
SQL ez da nahikoa programak egiteko
Ez dauka kontrol egiturak
Ez aldagairik
Ez erroreen kudeaketarik
…
Programak datubasean gordetzen dira
Programak zerbitzarian exekutatzen dira
Datubaseen laborategia 2
Informatika
3. PL/SQL Blokea
Programa eta azpiprograma guztiak blokeraren egitura daukate
Bloke batek hiru zonalde ditu
Deklarazio zonaldea. DECLARE klausulak hasten du
Agindu zonaldea BEGIN-ekin hasten da
Exception kudeaketaren zonaldea. EXCEPTION-ekin hasten da
Blokea beti END hitzarekin bukatzen da
[DECLARE
….]
BEGIN
Aginduak Agindak ;-az banatuta
[EXCEPTION
Kudeaketa]
END;
Datubaseen laborategia 3
Informatika
4. DATU MOTAK
NUMBER
CHAR
VARCHAR2
DATE
BOOLEAN
%TYPE (Izena EMP.EMPNO%TYPE)
%ROWTYPE (langilea EMP%ROWTYPE)
Datubaseen laborategia 4
Informatika
5. Kontrol egiturak
BALDINTZA
IF <baldintza> THEN
Aginduak;
…;
ELSIF <baldintza> THEN
Aginduak;
…
ELSE
Aginduak;
…
END IF;
Datubaseen laborategia 5
Informatika
6. Errepikakorrak
WHILE <baldintza> LOOP
aginduak;
…;
END LOOP;
FOR <aldagaia> IN <hasierako>.<bukaerako> LOOP
aginduak;
…;
END LOOP;
LOOP
aginduak;
EXIT WHEN <baldintza>
aginduak;
END LOOP;
Datubaseen laborategia 6
Informatika
7. Kurtsoreak
SQL agindu baten emaitza gordetzeko balio dute
Kurtsore sinpleak
SELECT <eremua> INTO <aldagaia>
FROM <taula>;
Aldagaiaren mota eta eremuaren mota berdinak izan behar dute
Datubaseen laborategia 7
Informatika
8. Erroreen kudeaketa
Gehien ematen diren erroreak
NO_DATA_FOUND (Select INTO balio gabe)
TOO_MANY_ROWS (Select INTO balio bat baino gehiago)
OTHERS beste agindu guztiak
Gehiago daude
Datubaseen laborategia 8
Informatika
9. Programa motak
Izen gabeko blokeak
Momentuan exekutatzen dira
Azpiprogramak
Prozedurak
Funtzioak
Datubaseen laborategia 9
Informatika
10. Erabiltzailearekin elkarrizketa
PL/SQL ez dago pentsatuta erabiltzailearekin hitz egiteko
DBMS_OUTPUT Paketea
PUT_LINE Prozedura
SET SERVEROUTPUT ON
Datubaseen laborategia 10
Informatika
11. Izen gabeko blokea
Puntu (.) batekin bukatzen dira
RUN Aginduarekin exekutatu
/ . Eta RUN
SAVE fitxategian gordetzeko (REPLACE)
GET fitxategia kargatzeko
START fitxategia kargatu eta exekutatu
Datubaseen laborategia 11
Informatika