Как я могу исправить код ошибки: 1318 в SQL? - PullRequest
0 голосов
/ 30 апреля 2020

Я создал две одинаковые функции без имени функции

 DELIMITER //
 CREATE FUNCTION fnc_credit_custstatus(custcredit INT)
 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 ;

, а другая:

 DELIMITER //
 CREATE FUNCTION f(custcredit INT)
 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 ;

Эти две функции существуют, но когда я хочу выбрать одну и ту же запрос с другим именем,

  SELECT *,fnc_credit_custstatus(custcredit)AS custstatus FROM customer_salon; 


 SELECT *, f(custcredit) AS custstatus FROM customer_salon;

НО длинное имя не может быть исчерпано

 Error Code: 1318
 Incorrect number of arguments for FUNCTION database.fnc_credit_custstatus; expected 0, got 1`

Я не знаю, почему

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