首页 新闻 会员 周边

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

0
悬赏园豆:10 [已解决问题] 解决于 2020-09-10 17:34

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

周周和奇奇的主页 周周和奇奇 | 初学一级 | 园豆:182
提问于:2020-09-08 16:41
< >
分享
最佳答案
1

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

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

call test2();

收获园豆:10
闪存最后一个地球人 | 小虾三级 |园豆:889 | 2020-09-08 17:14

谢谢,已解决!

周周和奇奇 | 园豆:182 (初学一级) | 2020-09-10 17:33
其他回答(1)
1

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

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

风行天下12 | 园豆:3867 (老鸟四级) | 2020-09-10 15:02

谢谢!

支持(0) 反对(0) 周周和奇奇 | 园豆:182 (初学一级) | 2020-09-10 17:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册