Вот простая функция, которую я создаю для практики. Но получите данную ошибку.Что не так, эта простая функция?
DELIMITER $$
CREATE FUNCTION Weighted_Average(n1 INT, n2 INT, n3 INT, n4 INT)
RETURNS INT
DETERMINISTIC
BEGIN
DECLARE avg INT;
SET avg = (n1 + n2 + n3*2 + n4*4)/8;
RETURN avg;
END;
DELIMITER $$
Код ошибки: 1064. У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «n4 * 4)/8; RETURN avg; END»в строке 6
Я сравниваю его на этот пост:
Кто-то с опытом, вероятно, может указать на мою ошибку, пока я не подвожу не где. Я не вижу, что не так, где ошибка просит меня посмотреть. Примечание. Я использую workbench.
Я протестировал его и успешно создал эту функцию. Невозможно воспроизвести какую-либо ошибку. Я бы предположил, что вы не рассказываете нам об окружающей среде или коде. –
Просто примечание: ваш второй оператор DELIMITER должен возвращать его по умолчанию ';'. –
Минус инструкций разделителя, это отлично работает на SQL Fiddle: http://www.sqlfiddle.com/#!9/4adc3c. –