Ich erhalte diese Störung, wenn ich unten Abfrage ausgeführt werden soll Funktion zum Erstellen, überprüfe ich alles, was es scheint, dass ich das Problem nicht finden kann:MySQL-Fehler, wenn Funktion Erstellen
MySQL sagte: Dokumentation # 1064 - Sie haben einen Fehler in Ihrer SQL Syntax; Überprüfen Sie das Handbuch, das Ihrer MySQL-Server-Version für die richtige Syntax entspricht, um 'ELSEIF-Preis' zu verwenden. 1000 THEN BEGIN SET last3 = SUBSTRING (Preis, -3); 'At line 18
DELIMITER $$
CREATE FUNCTION GetPrice(number decimal(10,2), profit decimal (10,2)) RETURNS INT
DETERMINISTIC
BEGIN
DECLARE price int;
DECLARE last3 int;
DECLARE rootn int;
SET price = CEIL(number + (number * profit /100));
IF price < 1000 THEN
BEGIN
IF (price > 0 and price <= 500) THEN
SET price = 500;
ELSEIF (price >500 and price <= 750) THEN
SET price = 750;
ELSEIF (price >750 and price < 1000) THEN
SET price = 1000;
END IF;
END
ELSEIF price > 1000 THEN
BEGIN
SET last3 = SUBSTRING(price, -3);
SET rootn = price-last3;
IF (last3 >= 0 and price <= 100) THEN
SET last3 = 0;
ELSEIF (last3 > 100 and price <= 350) THEN
SET last3 = 250;
ELSEIF (last3 > 350 and price <= 600) THEN
SET last3 = 500;
ELSEIF (last3 > 600 and last3 <= 850) THEN
SET last3 = 750;
ELSEIF (last3 > 850 and price <= 1000) THEN
SET last3 = 1000;
END IF;
SET price = rootn + last3;
END
ELSEIF price = 10000 THEN
SET price = 1000;
END IF;
RETURN (price);
END$$
DELIMITER;
Können Sie mir bitte helfen?
Codeblöcke abgegrenzt sind mit 'BEGIN' und' END', Klammern nicht. http://dev.mysql.com/doc/refman/5.7/en/begin-end.html –
Dank @BillKarwin, ich habe einen anderen Fehler Ich werde den Code aktualisieren :) – Akam