2012-01-24 39 views
0

我通常使用mssql或postgres,但我需要在当前项目中使用MySql。 现在我遇到了在MySQL 5.0.5中创建存储函数的问题。 我收到以下错误:在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

您需要更改';'的默认分隔符在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

非常感谢您的帮助!这就是答案!我真的被卡住了! – chris

0

在“END”之后是否应该有分号?

+0

不,这不利于两者都不是,但感谢你的尝试。我很高兴为每个答案! – chris