为什么mysql5.0+版本无法创建存储过程

2020-09-10 17:00发布

mysql版本如下:
5.7.18-log

在mysql执行sql语句的页面执行如下语句:
CREATE PROCEDURE test2 ()
BEGIN
select 1
END

call test2();

执行结果报错:
SQL Error(1064): You have an error in your SQL syntax; check the manual that corresponds to your Mysql server version fot the right syntax to use near 'call test2()' at line 6

标签:
2条回答
劳资没心,怎么记你
2楼-- · 2020-09-10 17:22

mysql5.+创建存储过程是没问题的,检查创建的语法

delimiter //
create procedure test()
begin
select * from aaa;
end //

查看更多
Deceive 欺骗
3楼-- · 2020-09-10 17:30

第一:sql语句需要添加"分号;"表示结束,但是创建存储过程的语句也会在"分号"处结束;
所以,第二:需要用DELIMITER声明命令结束符,我设置的是"//",你可以随意设置;
第三:你的第一行test2和括号中间有个空格,记得删掉空格.

DELIMITER //
CREATE PROCEDURE test2()
BEGIN
select 1;
END //

call test2();

查看更多
登录 后发表回答