mysql存储过程执行报错问题解决方法

存储过程分号处理办法

错误如下:

问题描述:
             mysql的命令行执行每一条命令是以分号结尾的,也就是说识别是否为一条命令,是根据分号决定的
      然而存储过程中设计多条语句,很可能出现多个分号,所以直接把存储过程复制到命令号一般都会失败
 

问题分析:
              出现这种问题的原因是在存储过程中要使用到分号但是,在mysql中分号代表的语句结束,这样我们的
      创建存储过程就会报错,所以我们可以使用一条语句将'//'作为mysql的语句结束符即可

解决方法:
             解决方法是需要加一个分隔符,让命令行知道整个存储过程的代码是完整的一块代码,代码如下
      DELIMITER //  表示以‘//’为结束符。当我们想要在切换回去时,只需'DELIMITER ;',即可
如下:

    delimiter //
 	create procedure p3(in p_in int)
 	begin
 	select p_in;
 	set p_in = 2;
 	select p_in;
 	select p_in;
 	end
 	// 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值