Ошибка при создании хранимой функции в MySQL 5.0.5 - PullRequest
0 голосов
/ 24 января 2012

Я обычно работаю с mssql или postgres, но мне нужно использовать MySql в текущем проекте.Теперь у меня проблема с созданием хранимой функции в MySQL 5.0.5.Я получаю следующую ошибку:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4

Мой код выглядит так:

CREATE FUNCTION aip_sf_choice_valid (request_id INT)
 RETURNS INT
 BEGIN
  DECLARE sf_result INT;
  SET sf_result = 1;
 RETURN sf_result
END

У меня действительно нет идей.Я рад за любую помощь!

Ответы [ 2 ]

2 голосов
/ 24 января 2012

Вам необходимо изменить разделитель по умолчанию с ';' в теле SP. Подробнее об этом здесь: http://dev.mysql.com/doc/refman/5.1/en/create-procedure.html

Попробуйте это:

DELIMITER $$

CREATE FUNCTION aip_sf_choice_valid (request_id INT)
 RETURNS INT
 BEGIN
  DECLARE sf_result INT;
  SET sf_result = 1;
 RETURN sf_result;
END
0 голосов
/ 24 января 2012

Должен ли он иметь точку с запятой после "END"?

...