oluşturma, bunu Sorunu bulamadığını görünüyor şeyi kontrol:MySQL Hatası Ben fonksiyonunu oluşturmak için sorguya altında yürütmek istediğinizde bu hatayı alıyorum İşlevini
MySQL söyledi: Belgeler # 1064 - SQL sözdiziminde bir hata var; doğru sözdiziminin MySQL sunucu sürümünüze uygun olan elkitabı kontrol edin 'ELSEIF fiyatı> 1000 THEN BEGIN SET last3 = SUBSTRING (fiyat, -3); 'Hat 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;
de bana yardım eder misiniz?
Kod blokları BEGIN' ve 'Sonu '' ile sınırlanmış, parantez değil. http://dev.mysql.com/doc/refman/5.7/en/begin-end.html –
Teşekkürler @BillKarwin, Kodu değiştireceğim başka bir hata aldım :) – Akam