Mysql Workbench создание функции

0

это мой код, довольно простой, я всегда получаю ошибки, я не знаю, где я ошибся, пожалуйста, помогите:

create function fun1() возвращает int (1) begin

return 1;

конец; Изображение 174551

#   Time    Action  Message Duration / Fetch

0 1 11:20:30 end Код ошибки: 1064. У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования около "конца" в строке 1 0,000 с

Теги:
function

2 ответа

1

Привет Можете ли вы попробовать под кодом с изменением разделителя:

    delimiter $$
    create function fun1() returns int(1) 

    begin

    return 1;

    end$$

    delimiter ;

Надеюсь, это сработает для вас.

Использование MySql ; в качестве разделителя по умолчанию, поэтому разделители, отличные от значения по умолчанию ; обычно используются при определении функций, хранимых процедур и триггеров, в которых вы должны определить несколько операторов. Вы определяете другой разделитель, такой как $$ который используется для определения конца всей процедуры, но внутри него каждый оператор заканчивается ; , Таким образом, когда код запускается в клиенте mysql, клиент может указать, где заканчивается вся процедура, и выполнять ее как единицу, а не выполнять отдельные заявления внутри.

Изображение 174551

  • 0
    только что попробовал, не работает: /
  • 0
    Как я добавил скриншот, он отлично работает для меня. @KEVINBOSS Можете поделиться скриншотом, какую ошибку вы получаете?
Показать ещё 4 комментария
0

Изображение 174551

и я получил ошибку: 12:42:56 create function fun1() возвращает int (1) begin return 1; end Код ошибки: 1418. Эта функция не имеет ни DETERMINISTIC, NO SQL, ни READS SQL DATA в своем объявлении, а бинарное ведение журнала разрешено (вы можете использовать менее безопасную переменную log_bin_trust_function_creators) 0,000 с

Ещё вопросы

Сообщество Overcoder
Наверх
Меню