Docsity
Docsity

Pripremite ispite
Pripremite ispite

Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u


Nabavite poene za preuzimanje
Nabavite poene za preuzimanje

Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan


Školska orijentacija
Školska orijentacija


PL-SQL-Vezbe-Baze podataka-Informatika, Vežbe od Baze podataka

Informatika, baze podataka, vezbe, zadaci, zadaci sa vezbi, PL/SQL blok, PL/SQL

Tipologija: Vežbe

2012/2013

Učitan datuma 27.06.2013.

mullerlove
mullerlove 🇸🇷

4.5

(453)

1.6K dokumenti

1 / 28

Toggle sidebar

Ova stranica nije vidljiva u pregledu

Ne propustite važne delove!

bg1
Ak.god. 2012/2013 BAZE PODATAKA 1
BAZE PODATAKA 2
Doc.dr.sc. GORAN KRALJEVIĆ
FAKULTET STROJARSTVA I RAĈUNARSTVA
SVEUĈILIŠTE U MOSTARU
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c

Delimični pregled teksta

Preuzmite PL-SQL-Vezbe-Baze podataka-Informatika i više Vežbe u PDF od Baze podataka samo na Docsity!

BAZE PODATAKA 2

Doc.dr.sc. GORAN K RALJEVIĆ

FAKULTET STROJARSTVA I RAĈUNARSTVA

SVEUĈILIŠTE U MOSTARU

Web:

http://www2.fsr.ba/nastava/baze

Pitanja, primjedbe, dogovor za konzultacije ...

 E-mail: [email protected]

Baze podataka 2

  • Oracle: PL/SQL PL/SQL (Procedural Language / Structured Query Language)
  • PL/SQL blok

DECLARE v_varijabla VARCHAR2(5); BEGIN SELECT naziv_kolone INTO v_varijabla FROM naziv_tablice; EXCEPTION WHEN naziv_iznimke THEN ... END;

DECLARE

v_sum_placa NUMBER(7,2); BEGIN SELECT SUM(placa) INTO v_sum_placa FROM djelatnik; DBMS_OUTPUT.PUT_LINE ('Ukupna suma placa je: ' || TO_CHAR(v_sum_placa)); END;

SELECT izraz u PL/SQL-u:

  • U PL/SQL bloku je moguće koristiti sljedeće atribute (u nekom uvjetu) za verificiranje rezultata DML izraza (SELECT, INSERT, UPDATE, DELETE) o SQL%ROWCOUNT o SQL%FOUND o SQL%NOTFOUND o SQL%ISOPEN
  • PL/SQL rad sa kursorima

DECLARE CURSOR naziv_kursora IS SELECT ... ; BEGIN OPEN naziv_kursora; LOOP FETCH naziv_kursora INTO ... ; EXIT WHEN ... ; END LOOP; CLOSE naziv_kursora; END ;

  • Rukovanje iznimkama (exceptions):

o Primjeri predefiniranih iznimki: NO_DATA_FOUND, TOO_MANY_ROWS, ZERO_DIVIDE

EXCEPTION

WHEN iznimka1 [OR iznimka2 ...] THEN

.. .; .. .; [WHEN iznimka3 THEN .. .; .. .; ] [WHEN OTHERS THEN .. .; .. .; ]

[DECLARE]

BEGIN

[EXCEPTION]

END;

PROCEDURE naziv IS BEGIN

... ; [EXCEPTION] END;

FUNCTION naziv RETURN tip_pod IS BEGIN

... ; RETURN vrijednost; [EXCEPTION] END;

„Anonimni” blok: (^) Procedura: Funkcija:

  • Kreiranje pohranjene procedure:
  • Poziv pohranjene procedure:

o EXECUTE naziv_procedure (parametri...); o naziv_procedure (parametri...);

CREATE [OR REPLACE] PROCEDURE naziv_procedure [(parametar1 [IN|OUT|IN OUT] tip_podatka1, parametar2 [IN|OUT|IN OUT] tip_podatka2,

.. .)] IS | AS PL/SQL blok;

  • Procedura ili funkcija?
  • Kreiranje okidača (trigera):

o Ukoliko je riječ o okidaču koji se aktivira UPDATE naredbom, moguće je definirati određene atribute unutar tablice čija promjena će aktivirati okidač (UPDATE OF naziv_atributa). o FOR EACH ROW – ako se navede ova opcija, akcije unutar okidača će se izvršiti za svaku n-torku na koju je djelovala operacija koja je aktivirala okidač.

CREATE [OR REPLACE] TRIGGER naziv_okidaca BEFORE | AFTER INSERT | UPDATE (OF naziv_atributa) | DELETE ON naziv_tablice [FOR EACH ROW] PL/SQL blok;

Primjeri

Testna baza (napunjena testnim podacima ... )