我正在尝试创建一个函数,该函数接收与总线关联的代码作为参数,并返回总线在路径中的停止次数。
我的代码如下:
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
- >它出现在代码的最后一行。
有人可以帮我找到我的功能定义上的错误吗?
感谢您的帮助。
答案 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 ;