You are on page 1of 3

TRIGERI 2NF

1.
create or replace
TRIGGER NE_MENJAJ_NAZIV_MESTA
AFTER update of NAZIV_MESTA ON ULICA
BEGIN
RAISE_APPLICATION_ERROR (
NUM => -20000,
MSG => 'NE SMETE DA MENJATE NAZIV MESTA!');
END;
2.
create or replace
TRIGGER " NAZIV_MESTA _INSERT_U_ULICA" before INSERT
ON ULICA
FOR EACH ROW
DECLARE
NAZIV_MESTA_VAR VARCHAR2(20);
BEGIN
SELECT NAZIV_MESTA INTO NAZIV_MESTA_VAR
FROM MESTO
WHERE MESTO_ID = :new. MESTO_ID;
:new. NAZIV_MESTA:= NAZIV_MESTA_VAR;
END;

create or replace
TRIGGER "MENJAJ_NAZIVM_IZ_M_U_UL"
AFTER UPDATE OF NAZIV_MESTA
ON MESTO
FOR EACH ROW
DECLARE

PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
EXECUTE IMMEDIATE 'ALTER TRIGGER NE_MENJAJ_NAZIV_MESTA DISABLE';
UPDATE ULICA
SET NAZIV_MESTA = :NEW.NAZIV_MESTA
WHERE MESTO_ID = :NEW.MESTO_ID;
COMMIT;
BEGIN
EXECUTE IMMEDIATE 'ALTER TRIGGER NE_MENJAJ_NAZIV_MESTA ENABLE';
END;
END;

TRIGERI 3NF

1.
create or replace
TRIGGER NE_MENJAJ_IMEDELA
AFTER update of IME_DELA ON STAVKA_FAKTURE
BEGIN
RAISE_APPLICATION_ERROR (
NUM => -20000,
MSG => 'NE SMETE DA MENJATE IME DELA!');
END;
2.
create or replace
TRIGGER " IME_DELA _INSERT_U_STAVKA_FAKTURE" before INSERT
ON STAVKA_FAKTURE
FOR EACH ROW
DECLARE

IME_DELA_VAR VARCHAR2(20);
BEGIN
SELECT IME_DELA INTO IME_DELA_VAR
FROM DEO
WHERE BROJ_DELA = :new. BROJ_DELA;
:new. IME_DELA:= IME_DELA_VAR;
END;

create or replace
TRIGGER "MENJAJ_IME_DELA_IZ_D_U_SF"
AFTER UPDATE OF IME_DELA
ON DEO
FOR EACH ROW
DECLARE
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
EXECUTE IMMEDIATE 'ALTER TRIGGER NE_MENJAJ_IME_DELA DISABLE';
UPDATE STAVKA_FAKTURE
SET IME_DELA = :NEW.IME_DELA
WHERE BROJ_DELA = :NEW.BROJ_DELA;
COMMIT;
BEGIN
EXECUTE IMMEDIATE 'ALTER TRIGGER NE_MENJAJ_IME_DELA ENABLE';
END;
END;

You might also like