tnblog
首页
视频
资源
登录

mysql 存储过程报错:delimiter

6346人阅读 2019/3/9 15:49 总访问:11824 评论:0 收藏:0 手机
分类: 我的文章
最近刚学sql,学到了存储过程,每当练习的时候就一直出现问题。
现在记录
CREATE PROCEDURE proc_out(OUT stuid INT)

    begin
    select * from studentinfo where studentid=stuid;
    end

这段存储过程初看没有任何问题,但执行的时候就是报错,说是语法问题。

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near '' at
line 4

后来请教了百度,
是mysql的DELIMITER 的问题,delimiter是分号;。运行时,如果有一行命令以分号结束,回车后,mysql将会执行该命令。但其实在执行里面的delete的时候,存储过程并没有真的结束,同时检查发现没有end。所以就报语法错误了。

正确的sql是

    delimiter $$

CREATE PROCEDURE proc_out(OUT stuid INT)

    begin
    select * from studentinfo where studentid=stuid;
    end $$
    delimiter ;





---------------------
作者:mixzxu
来源:CSDN
原文:https://blog.csdn.net/mixzxu/article/details/79680727
版权声明:本文为博主原创文章,转载请附上博文链接!



评价
开心的度过每一天
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
欢迎加群交流技术