




















Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u
Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan
Pripremite ispite
Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u
Nabavite poene za preuzimanje
Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan
Informatika, baze podataka, vezbe, zadaci, zadaci sa vezbi, PL/SQL blok, PL/SQL
Tipologija: Vežbe
1 / 28
Ova stranica nije vidljiva u pregledu
Ne propustite važne delove!





















FAKULTET STROJARSTVA I RAĈUNARSTVA
SVEUĈILIŠTE U MOSTARU
Web:
Pitanja, primjedbe, dogovor za konzultacije ...
Baze podataka 2
DECLARE v_varijabla VARCHAR2(5); BEGIN SELECT naziv_kolone INTO v_varijabla FROM naziv_tablice; EXCEPTION WHEN naziv_iznimke THEN ... END;
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:
DECLARE CURSOR naziv_kursora IS SELECT ... ; BEGIN OPEN naziv_kursora; LOOP FETCH naziv_kursora INTO ... ; EXIT WHEN ... ; END LOOP; CLOSE naziv_kursora; END ;
o Primjeri predefiniranih iznimki: NO_DATA_FOUND, TOO_MANY_ROWS, ZERO_DIVIDE
WHEN iznimka1 [OR iznimka2 ...] THEN
.. .; .. .; [WHEN iznimka3 THEN .. .; .. .; ] [WHEN OTHERS THEN .. .; .. .; ]
PROCEDURE naziv IS BEGIN
... ; [EXCEPTION] END;
FUNCTION naziv RETURN tip_pod IS BEGIN
... ; RETURN vrijednost; [EXCEPTION] END;
„Anonimni” blok: (^) Procedura: Funkcija:
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;
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 ... )