VARCHAR
не является допустимым типом данных: вам нужно указать его длину, например VARCHAR(5)
:
DELIMITER //
CREATE FUNCTION hello(id INT) RETURNS VARCHAR(5)
BEGIN
RETURN 'Works';
END;
//
Также обратите внимание, что ваша существующая функция может быть упрощена следующим образом:
CREATE FUNCTION hello(id INT) RETURNS VARCHAR(5)
RETURN 'Works';
Ключевое слово BEGIN
вступает в действие, когда функция содержит составных характеристик , таких как объявления, циклы и т. Д. Кроме того, как прокомментировал Рэймонд Нейланд, нет необходимости указывать DELIMITER
, так как в функции есть один оператор.
Ссылка: MySQL CREATE PROCEDURE
и CREATE FUNCTION
Синтаксис