Синтаксические ошибки хранимых процедур и функций mysql - PullRequest
0 голосов
/ 05 июля 2018

Я работаю в MySQL Workbench 8.0.11 и у меня проблемы с созданием хранимых процедур, а также функций. Просто чтобы прояснить, я запускаю это в mysql через инструментальные средства mysql. Я не использую никакую другую программу вообще.

Я пытаюсь создать новую хранимую процедуру. Я продолжаю получать синтаксическую ошибку: «разделитель» не является допустимым вводом в этой позиции, ожидая: CREATE.

Я проверил сайт mysql, чтобы убедиться, что мой синтаксис правильный, и он совпадает. Следует также отметить, что я попытался запустить хранимую процедуру с использованием учета использования; (БД, с которой я работаю), и я получаю ту же ошибку, за исключением того, что «использование» заменяет «разделитель». Так что я не уверен, что это как-то связано с самим ключевым словом delimiter. Есть ли какие-то настройки в MySQL Workbench, которые я могу установить, чтобы это исправить? Кроме того, я получаю точно такую ​​же синтаксическую ошибку при попытке создать функцию.

Я пытался создать как хранимую процедуру, так и функцию без использования ключевого слова delimiter или ключевого слова use, и когда я нажимаю клавишу apply, происходит сбой mysql.

Вот мой код:

delimiter $$
create procedure 'add_expense_category' (id int, name varchar(20))
begin
insert into expense_categories(expense_category_id, expense_category)
values(id, name);
end $$
delimiter ;

У кого-нибудь есть идеи, как это решить? Настройки поменять? Что-нибудь?

Спасибо!

1 Ответ

0 голосов
/ 05 июля 2018

попробуйте

delimiter $$
create procedure `add_expense_category` (id int, name varchar(20))
begin
insert into expense_categories(expense_category_id, expense_category)
values(id, name);
end $$
delimiter ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...