MySQL Ошибка 1064: у вас ошибка в синтаксисе SQL - PullRequest
1 голос
/ 30 апреля 2020
    DELIMITER //
    CREATE FUNCTION fnc_credit_custstatus
    RETURNS VARCHAR(6) DETERMINISTIC
     BEGIN
     DECLARE custstatus VARCHAR(6);
     IF CustCredit>='1000',THEN SET custstatus='VIP';
     ELSEIF CustCredit<'1000',THEN SET custstatus='NONVIP';
   END IF;
   RETURN (custstatus);
   END//
   DELIMITER ;

1 выполненных запросов, 0 успешных, 1 ошибок, 0 предупреждений

Запрос:

CREATE function fnc_credit_custstatus returns varchar(6) deterministic 
begin DECLARE custstatus VARCHAR(6); if CustCredit>='1000...

Код ошибки: 1064 У вас есть ошибка в SQL синтаксис; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования возле 'varchar (6) детерминированного начала DECLARE custstatus VARCHAR (6); if CustCredit> = 'в строке 2

1 Ответ

0 голосов
/ 30 апреля 2020

Попробуйте удалить запятую

    DELIMITER //
        CREATE FUNCTION fnc_credit_custstatus
        RETURNS VARCHAR(6) DETERMINISTIC
         BEGIN
         DECLARE custstatus VARCHAR(6);
         IF CustCredit>=1000 THEN SET custstatus='VIP';
         ELSEIF CustCredit<1000 THEN SET custstatus='NONVIP';
       END IF;
       RETURN (custstatus);
       END//
       DELIMITER ;

(и используйте правильный тип данных сравнения)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...