mysql中while循环以及变量声明以及dilimiter

首先我们查看一个正确的完整的一个存储过程

①其中delimiter命令解释如下:默认情况下,delimiter是分号。在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令。

这种默认以分号执行命令会使存储过程创建不完整就被执行,显然会报错。所以用delimiter命令将默认的;变成||(也可以是&& ,//什么的)。执行完后

把某段语句写完之后,再用||结束,提交执行。最后用delimiter 命令修改回来。

②mysql中局部变量声明只可写在sql语句块中,如函数和存储过程中,作用域也就是一个语句块。msyql不支持匿名块,所以不可以随便使用变量;

  用户变量不用声明可直接使用,作用域是当前整个连接。用select 和set 直接赋值,其中select赋值只能用“:=”赋值,因为在select语句中,“=”

  执行比较操作

DELIMITER ||
create procedure mypro()
begin
declare i integer;
set i=1;
start transaction;
while i<=100 do
begin

end;
end while;
commit;
end;
||
delimiter ;
原文地址:https://www.cnblogs.com/Jacck/p/4552780.html