存储过程分号处理办法

存储过程分号处理办法


问题描述:

             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
 	// 

上述例程对应我的上篇博客mysql存储过程

你可能感兴趣的:(mysql)