Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Tworzy zamowienie dla podanego produktu jezeli jego liczba sztuk jest mniejsza niz 20 (zamawia [20 - aktualna_liczba] * 3)
- DELIMITER //
- CREATE PROCEDURE zlozZamowienie(idProd int(8))
- BEGIN
- SET @aktualnaLiczbaSztuk = (SELECT liczbaSztuk FROM produkt WHERE idProduktu = idProd);
- IF(@aktualnaLiczbaSztuk < 20) THEN
- BEGIN
- SET @nrZam = (SELECT MAX(nrZamowienia) FROM zamowienie) + 1;
- IF(@nrZam is NULL) THEN
- BEGIN
- SET @nrZam = 1;
- SET @cena = (SELECT cenaZakupu FROM produkt WHERE idProduktu = idProd);
- INSERT INTO ZAMOWIENIE (nrZamowienia, wartosc, dataZlozenia) VALUES(@nrZam, @cena * (20 - @aktualnaLiczbaSztuk) * 3, CURRENT_DATE());
- INSERT INTO pozycjazamowienia (idProduktu, nrZamowienia, liczbSztuk) VALUES(idProd, @nrZam, (20 - @aktualnaLiczbaSztuk) * 3);
- END;
- ELSEIF(@nrZam is NOT NULL) THEN
- BEGIN
- SET @cena = (SELECT cenaZakupu FROM produkt WHERE idProduktu = idProd);
- INSERT INTO ZAMOWIENIE (nrZamowienia, wartosc, dataZlozenia) VALUES(@nrZam, @cena * (20 - @aktualnaLiczbaSztuk) * 3, CURRENT_DATE());
- INSERT INTO pozycjazamowienia (idProduktu, nrZamowienia, liczbSztuk) VALUES(idProd, @nrZam, (20 - @aktualnaLiczbaSztuk) * 3);
- END;
- ELSE SELECT "COS NIE TAK" AS Error;
- END IF;
- END;
- ELSE SELECT "Liczba sztuk tego produktu większa lub równa 20" AS Informacja;
- END IF;
- END//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement