Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Wyzwalacz: po zmniejszeniu liczby sztuk, jesli zostanie mniej niz 20 utworzy nowe zamowieni na produkt
- DELIMITER //
- CREATE TRIGGER wyzwalacz AFTER UPDATE ON produkt FOR EACH ROW
- BEGIN
- IF(NEW.liczbaSztuk < OLD.liczbaSztuk AND NEW.liczbaSztuk < 20) THEN
- BEGIN
- SET @nrZam = (SELECT MAX(nrZamowienia) FROM zamowienie) + 1;
- set @ile = (OLD.liczbaSztuk - NEW.liczbaSztuk) * 1.2;
- IF(@nrZam is null) THEN
- BEGIN
- SET @nrZam = 1;
- SET @cena = (SELECT cenaZakupu FROM produkt WHERE idProduktu = new.idProduktu);
- INSERT INTO zamowienie(nrZamowienia, wartosc, dataZlozenia) VALUES(@nrZam, @cena * @ile, CURRENT_DATE());
- INSERT INTO pozycjazamowienia (idProduktu, nrZamowienia, liczbSztuk) VALUES(NEW.idProduktu, @nrZam, @ile);
- END;
- ELSEIF(@nrZam is NOT NULL) THEN
- BEGIN
- SET @cena = (SELECT cenaZakupu FROM produkt WHERE idProduktu = new.idProduktu);
- INSERT INTO zamowienie(nrZamowienia, wartosc, dataZlozenia) VALUES(@nrZam, @cena * @ile, CURRENT_DATE());
- INSERT INTO pozycjazamowienia (idProduktu, nrZamowienia, liczbSztuk) VALUES(NEW.idProduktu, @nrZam, @ile);
- END;
- END IF;
- END;
- END IF;
- END//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement