I Получение ошибки при выполнении следующего запроса: операторы RETURN в функциях со скалярными значениями должны включать аргумент - PullRequest
0 голосов
/ 05 августа 2020

Я получаю это сообщение об ошибке

Операторы RETURN в функциях со скалярным значением должны включать аргумент

при выполнении этого запроса:

create function gender(@gender nvarchar(40))
returns nvarchar(40)
as
begin
(select name,cast(DOB as date) as DOB from datenames where gender = @gender)
return
end

1 Ответ

0 голосов
/ 05 августа 2020

Способ записи для создания функции в mysql для вашего примера выглядит следующим образом:

DELIMITER \\

create function gender(Igender nvarchar(40))
returns nvarchar(40)

begin

DECLARE customerLevel NVARCHAR(40);

IF EXISTS (select name,cast(DOB as date) as DOB from datenames where gender = Igender) THEN
    SET customerLevel = 'SOMETHING1';
ELSE
    SET customerLevel = 'SOMETHING2';
END IF;
    
RETURN (customerLevel);

end
  1. Нет необходимости as
  2. Нет необходимости @ перед вводом
  3. Вам нужно что-то вернуть.
  4. Не забудьте использовать DELIMITER.

Если вы используете phpmyadmin и проблема с nvarchar прочтите это сообщение: Нераспознавать тип данных nvarchar в базе данных или просто изменить его на varchar.

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