Advertisement
majczel23000

[PBD] SP3 Wyzwalacz

Jun 14th, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.24 KB | None | 0 0
  1. Wyzwalacz: po zmniejszeniu liczby sztuk, jesli zostanie mniej niz 20 utworzy nowe zamowieni na produkt
  2.  
  3.  
  4. DELIMITER //
  5. CREATE TRIGGER wyzwalacz AFTER UPDATE ON produkt FOR EACH ROW
  6. BEGIN
  7.     IF(NEW.liczbaSztuk < OLD.liczbaSztuk AND NEW.liczbaSztuk < 20) THEN
  8.     BEGIN
  9.         SET @nrZam = (SELECT MAX(nrZamowienia) FROM zamowienie) + 1;
  10.         set @ile = (OLD.liczbaSztuk - NEW.liczbaSztuk) * 1.2;
  11.         IF(@nrZam is null) THEN
  12.         BEGIN
  13.             SET @nrZam = 1;
  14.             SET @cena = (SELECT cenaZakupu FROM produkt WHERE idProduktu = new.idProduktu);
  15.             INSERT INTO zamowienie(nrZamowienia, wartosc, dataZlozenia) VALUES(@nrZam, @cena * @ile, CURRENT_DATE());
  16.             INSERT INTO pozycjazamowienia (idProduktu, nrZamowienia, liczbSztuk) VALUES(NEW.idProduktu, @nrZam, @ile);
  17.         END;
  18.         ELSEIF(@nrZam is NOT NULL) THEN
  19.         BEGIN
  20.             SET @cena = (SELECT cenaZakupu FROM produkt WHERE idProduktu = new.idProduktu);
  21.             INSERT INTO zamowienie(nrZamowienia, wartosc, dataZlozenia) VALUES(@nrZam, @cena * @ile, CURRENT_DATE());
  22.             INSERT INTO pozycjazamowienia (idProduktu, nrZamowienia, liczbSztuk) VALUES(NEW.idProduktu, @nrZam, @ile);
  23.         END;
  24.         END IF;
  25.     END;
  26.     END IF;
  27. END//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement