为什么mysql在创建函数时会出错?

时间:2014-05-09 00:29:20

标签: mysql

我正在尝试创建一个函数,该函数接收与总线关联的代码作为参数,并返回总线在路径中的停止次数。

我的代码如下:

create function num_paragem(bus_code int) 
returns int

Begin
    Declare x int default 0;
    select count(code_stop) into x from Bus_Stops where cod_bus = code;
end;

我一直收到这些错误:

syntax error, unexpected END_OF_INPUT, expecting ';' - >当我声明变量x时会发生这种情况。

syntax error, unexpected END - >它出现在代码的最后一行。

有人可以帮我找到我的功能定义上的错误吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

你遇到了分隔符问题:我们需要告诉语法分析器里面的函数以及函数定义的分隔符。

试试这个;

-- set special delimiter
DELIMITER $$

create function num_paragem(bus_code int) 
returns int
Begin
    Declare x int default 0; -- delimiter inside the function
    select count(code_stop) into x from Bus_Stops where cod_bus = code;
end;

-- delimiter of the function definition
$$

-- set delimiter back to normal
DELIMITER ;