Advertisement
Guest User

Untitled

a guest
Oct 18th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 1.08 KB | None | 0 0
  1. 11. Trigeri
  2. /*triger koji upisuje današnji datum ako se izostavi pri upisu ocene albuma*/
  3. CREATE OR REPLACE TRIGGER trig1
  4. before INSERT OR UPDATE ON album
  5. FOR each ROW
  6. BEGIN
  7. IF (:NEW.ocena1 IS NOT NULL AND :NEW.dat_ocena1 IS NULL)THEN
  8. :NEW.dat_ocena1 := CURRENT_DATE;
  9. END IF;
  10. IF (:NEW.ocena2 IS NOT NULL AND :NEW.dat_ocena2 IS NULL) THEN
  11. :NEW.dat_ocena2 := CURRENT_DATE;
  12. END IF;
  13. END;
  14.  
  15. INSERT INTO Album(ID_ALB, NAZIV, DAT_POC, ID_ZAP, OCENA2)
  16. VALUES(190,'The Wall',TO_DATE('11-JUN-2000','DD-MON-YYYY'), 1, 5);
  17.  
  18. /*triger koji na promenu producenta dodaje vrednost u pesma_istorija
  19.  
  20. create or replace trigger trig2
  21. before update of id_zap on pesma
  22. for each row
  23. declare
  24.  
  25. redniBroj number;
  26. datumPocetka pesma.dat_poc%type;
  27. danas date;
  28. begin
  29.  
  30. select to_date(SYSDATE)
  31. into danas
  32. from DUAL;
  33.  
  34. select nvl(min(rbr_pi), 1)
  35. into redniBroj
  36. from pesma_istorija
  37. where id_pesma = :old.id_pesma;
  38.  
  39. select dat_poc
  40. into datumPocetka
  41. from pesma
  42. where id_zap = :new.id_zap;
  43.  
  44. insert into pesma_istorija values
  45. (redniBroj, datumPocetka, danas, :old.id_pesma, :old.id_zap);
  46. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement