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
第一:sql语句需要添加"分号;"表示结束,但是创建存储过程的语句也会在"分号"处结束;
所以,第二:需要用DELIMITER声明命令结束符,我设置的是"//",你可以随意设置;
第三:你的第一行test2和括号中间有个空格,记得删掉空格.
DELIMITER //
CREATE PROCEDURE test2()
BEGIN
select 1;
END //
call test2();
谢谢,已解决!
mysql5.+创建存储过程是没问题的,检查创建的语法
delimiter //
create procedure test()
begin
select * from aaa;
end //
谢谢!