Advertisement
Guest User

Untitled

a guest
Nov 29th, 2015
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.42 KB | None | 0 0
  1. CREATE TRIGGER CHANGEDINVOICEINS AFTER INSERT ON vp_invoicelines FOR EACH ROW
  2. BEGIN
  3.     DECLARE fullamount INT DEFAULT 0;
  4.     DECLARE invoicescount INT DEFAULT 0;
  5.     SELECT SUM(COUNT*price) INTO fullamount FROM vp_invoicelines WHERE invoicenumber=NEW.invoicenumber;
  6.     SELECT COUNT(*) INTO invoicescount FROM vp_invoiceheader WHERE id=NEW.invoicenumber;
  7.     IF(invoicescount=0) THEN
  8.         INSERT INTO vp_invoiceheader (provider,customer,releasedate,amount) VALUES ("ProviderX","CustomerX","2015-11-29",fullamount);
  9.     ELSE
  10.         UPDATE vp_invoiceheader SET amount=fullamount WHERE id=NEW.invoicenumber;
  11.     END IF;
  12. END;
  13.  
  14.  
  15. CREATE TRIGGER CHANGEDINVOICEUPD AFTER UPDATE ON vp_invoicelines FOR EACH ROW
  16. BEGIN
  17.     DECLARE fullamount INT;
  18.     SELECT SUM(COUNT*price) INTO fullamount FROM vp_invoicelines WHERE invoicenumber=NEW.invoicenumber;
  19.     UPDATE vp_invoiceheader SET amount=fullamount WHERE  id=NEW.invoicenumber;
  20. END;
  21.  
  22.  
  23. CREATE TRIGGER CHANGEDINVOICEDEL AFTER DELETE ON vp_invoicelines FOR EACH ROW
  24. BEGIN
  25.     DECLARE fullamount INT;
  26.     DECLARE invoicescount INT;
  27.     SELECT SUM(COUNT*price) INTO fullamount FROM vp_invoicelines WHERE invoicenumber=OLD.invoicenumber;
  28.     SELECT COUNT(*) INTO invoicescount FROM vp_invoiceheader WHERE id=OLD.invoicenumber;
  29.     IF(invoicescount=1) THEN
  30.         DELETE FROM vp_invoiceheader WHERE id=OLD.invoicenumber;
  31.     END IF;
  32.     IF(invoicescount>1) THEN
  33.         UPDATE vp_invoiceheader SET amount=fullamount WHERE  id=OLD.invoicenumber;
  34.     END IF;
  35. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement