Advertisement
virabhairava

(2)PRD_Proizvod/PRD_StavkaPrijemnice

Sep 24th, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. /*
  2. https://imageshack.com/i/pnp6lDo8p
  3.  
  4. Prevesti PMOV u relacioni model i napisati SQL DDL naredbe kojim će se kreirati tabele u bazi primerBP, sa definisanim primarnim i
  5. spoljnim ključevima. (6 poena).
  6. b) Kreirati DML AFTER trigere koji će obezbediti da posle svake operacije ažuriranja (INSERT i UPDATE) izvršenih nad tabelom
  7. PRD_StavkaPrijemnice, u odgovarajućem slogu tabele PRD_Proizvod bude adekvatno menjana vrednost polja Raspoloziva_Kolicina. Naime,
  8. kod unosa nove stavke prijemnice, raspoloživa količina proizvoda se povećava za primljenu količinu. Kod promene vrednosti primljene
  9. količine (naredba UPDATE) raspoloživa količina se ili povećava (ako je nova vrednost veća od postojeće), ili smanjuje (ako je nova vrednost
  10. manja od postojeće) (17 poena)
  11. */
  12.  
  13. CREATE TABLE Prd_Proizvod(
  14. ProizvodID numeric(7,0) PRIMARY KEY,
  15. NazivProizvoda varchar(50) not null,
  16. Raspoloziva_Kolicina int not null
  17. );
  18.  
  19. CREATE TABLE Prd_StavkaPrijemnice(
  20. StavkaOtpID numeric(7,0) PRIMARY KEY,
  21. Primljena_Kolicina int not null,
  22. ProizvodID numeric(7,0) not null,
  23. FOREIGN KEY (ProizvodID) references Prd_Proizvod(ProizvodID)
  24. );
  25. //////////////
  26.  
  27. CREATE TRIGGER AFT_Trig_INS_Prd_StavkaPrijemnice ON Prd_StavkaPrijemnice
  28. AFTER INSERT
  29. AS
  30. BEGIN
  31. UPDATE p SET
  32. p.Raspoloziva_Kolicina = p.Raspoloziva_Kolicina + (SELECT sum(i.Primljena_Kolicina) FROM inserted i WHERE i.ProizvodID=p.ProizvodID)
  33. FROM Prd_Proizvod p JOIN inserted i on p.ProizvodID=i.ProizvodID
  34.  
  35. END
  36. CREATE TRIGGER AFT_Trig_UPD_Prd_StavkaPrijemnice ON Prd_StavkaPrijemnice
  37. AFTER UPDATE
  38. AS
  39. BEGIN
  40. UPDATE p SET
  41. p.Raspoloziva_Kolicina = p.Raspoloziva_Kolicina - (SELECT sum(d.Primljena_Kolicina) FROM deleted d WHERE d.ProizvodID=p.ProizvodID)
  42. FROM Prd_Proizvod p JOIN deleted d on p.ProizvodID=d.ProizvodID
  43.  
  44. UPDATE p SET
  45. p.Raspoloziva_Kolicina = p.Raspoloziva_Kolicina + (SELECT sum(i.Primljena_Kolicina) FROM inserted i WHERE i.ProizvodID=p.ProizvodID)
  46. FROM Prd_Proizvod p JOIN inserted i on p.ProizvodID=i.ProizvodID
  47.  
  48. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement