存储过程分号处理办法
错误如下:
问题描述:
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
//