Advertisement
simov

BP Lab 7

Dec 13th, 2017
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. CREATE OR REPLACE TRIGGER izbrisi_ulogi
  2. BEFORE DELETE ON Vraboteni
  3. FOR EACH ROW
  4. BEGIN
  5. DELETE FROM Ulogi WHERE Ulogi.v =: old.v;
  6. END;
  7. ----
  8. DELETE FROM Vraboteni WHERE imev='Tana Mimeska'
  9. ----
  10. SELECT COUNT(*) FROM (SELECT * FROM Vraboteni JOIN Ulogi ON Vraboteni.v = Ulogi.v) WHERE imev='Tana Mimeska';
  11. ---------------------------------------------------------------------------------------------------------------
  12. ALTER TABLE Teatri
  13. ADD VkupnoPretstavi int
  14. -------------------------
  15. UPDATE Teatri SET VkupnoPretstavi=(SELECT COUNT(DISTINCT Bileti.p) FROM Bileti WHERE Teatri.t = Bileti.t)
  16. -------------------------
  17. CREATE OR REPLACE TRIGGER update_vkupno_pretstavi
  18. AFTER INSERT OR DELETE ON Bileti
  19. FOR EACH ROW
  20. BEGIN
  21. UPDATE Teatri SET VkupnoPretstavi=(SELECT COUNT(DISTINCT Bileti.p) FROM Bileti WHERE Teatri.t = Bileti.t)
  22. END;
  23. ------------------------
  24. INSERT INTO Bileti(t, p, status, scena, cena, prodadeni) VALUES('14', '43', 'gostuva', 'golema_scena', '150', '200');
  25. ------------------------
  26. DELETE FROM Bileti WHERE t=27 AND p=27;
  27. ------------------------
  28. ALTER TABLE Bileti DROP PRIMARY KEY;
  29. ALTER TABLE Bileti ADD PRIMARY KEY(t, p);
  30.  
  31. SELECT COUNT(*) FROM Ulogi WHERE ima_uloga="glavna" GROUP BY p
  32.  
  33. Ne smee da ima pretstava so poveke od 3 glavni ulogi i poveke od 1 reziser
  34.  
  35. CREATE ASSERTION dopolnitelno_baranje
  36. CHECK(NOT_EXISTS(SELECT COUNT(*) FROM Ulogi WHERE ima_uloga='rezira' AND COUNT(*) > 1 GROUP BY p) AND NOT_EXISTS(SELECT COUNT(*) FROM Ulogi WHERE ima_uloga='glavna' AND COUNT(*) > 3 GROUP BY p))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement