Hej, może mi ktoś wyjaśnić co jest nie tak z kodem? Silnik zwraca błąd składni przy instrukcji warunkowej:
START TRANSACTION;
SET AUTOCOMMIT=0;
SET @IdProduktu = (SELECT NumerProduktu FROM Produkty WHERE NazwaProduktu = 'Rower górski Trek 9000');
SET @StanMagazynowy = (SELECT StanMagazynowy FROM Produkty WHERE NumerProduktu = @IdProduktu);
IF @StanMagazynowy >= 2 THEN
SET @MaxIdNrZamowienia = (SELECT MAX(NumerZamowienia) FROM Zamowienia);
SET @IdKlienta = (SELECT IDKlienta FROM Klienci WHERE ImieKlienta = 'Suzanne' AND NazwiskoKlienta = 'Viescas');
SET @IdPracownika = (SELECT IDPracownika FROM Pracownicy WHERE ImiePracownika = 'Ann' AND NazwiskoPracownika = 'Patterson');
SET @CenaZakupu = (SELECT CenaDetaliczna FROM Produkty WHERE NumerProduktu = @IdProduktu);
-- Dodaj zamówienie
INSERT INTO Zamowienia (NumerZamowienia, DataZamowienia, DataWysylki, IDKlienta, IDPracownika)
VALUES (@MaxIdNrZamowienia + 1, CURDATE(), DATE_ADD(CURDATE(), INTERVAL 1 DAY), @IdKlienta, @IdPracownika);
-- Dodaj szczegóły zamówienia
INSERT INTO Dane_zamowien (NumerZamowienia, NumerProduktu, CenaZakupu, ZamowionaIlosc)
VALUES (@MaxIdNrZamowienia + 1, @IdProduktu, @CenaZakupu, 2);
-- Aktualizuj stan magazynowy produktu
UPDATE Produkty SET StanMagazynowy = @StanMagazynowy - 2
WHERE NumerProduktu = @IdProduktu;
ELSE
SET @Info = 'Brak wystarczającej ilości towaru';
SELECT @Info;
END IF;
COMMIT;