witam,
otoz mam stworzyc 3 triggery do

  1. CREATE TABLE zamowienie(
  2. bid INTEGER NOT NULL PRIMARY KEY,
  3. bestelldatum DATE,
  4. suma DECIMAL (10,2),
  5. klient INTEGER,
  6. pracownik INTEGER ON DELETE SET NULL,
  7. );
  8.  
  9. CREATE TABLE zawiera(
  10. pid INTEGER NOT NULL,
  11. bid INTEGER NOT NULL,
  12. liczba INTEGER CHECK (liczba >= 0),
  13. PRIMARY KEY (pid,bid),
  14. FOREIGN KEY(pid) REFERENCES produkt(pid),
  15. FOREIGN KEY(bid) REFERENCES zamowienie(bid),
  16. );



w ktorych bedzie w zamowieniu aktualizowana suma, odpowiednio dla insert, delete orz update przypadku
(w zawiera musze wziac tylko liczbe pod uwage)

  1. CREATE TRIGGER ins_zawiera
  2. AFTER INSERT ON zawiera
  3. REFERENCING NEW ROW AS n
  4. FOR EACH ROW
  5. UPDATE zamowienie SET suma = (suma + 1) WHERE n.liczba = bid
  6.  
  7.  
  8. CREATE TRIGGER del_zawiera
  9. AFTER DELETE ON zawiera
  10. REFERENCING OLD ROW AS o
  11. FOR EACH ROW
  12. UPDATE zamowienie SET suma = (suma - 1) WHERE o.liczba = bid
  13.  
  14.  
  15. CREATE TRIGGER upd_zawiera
  16. BEFORE UPDATE OF liczba ON zawiera
  17. FOR EACH ROW
  18. BEGIN


no i moj problem tkwi w update_zawiera, nie wiem zbytnio jak to ogarnac,
z gory dziekuej za pomoc