mysql 中循环_MySQL中的循环

MySQL中的三中循环 while 、 loop 、repeat 求 1-n 的和

第一种 while 循环 :

/* while循环语法:

while 条件 DO

循环体;

end while;

*/

create procedure sum1(a int)

begin

declare sum int default 0; -- default 是指定该变量的默认值

declare i int default 1;

while i<=a DO -- 循环开始

set sum=sum+i;

set i=i+1;

end while; -- 循环结束

select sum; -- 输出结果

end;

-- 执行存储过程

call sum1(100);

-- 删除存储过程

drop procedure if exists sum1;

第二种 loop 循环:

/*loop 循环语法:

loop_name:loop

if 条件 THEN -- 满足条件时离开循环

leave loop_name; -- 和 break 差不多都是结束训话

end if;

end loop;

*/

create procedure sums(a int)

begin

declare sum int default 0;

declare i int default 1;

loop_name:loop -- 循环开始

if i>a then

leave loop_name; -- 判断条件成立则结束循环 好比java中的 boeak

end if;

set sum=sum+i;

set i=i+1;

end loop; -- 循环结束

select sum; -- 输出结果

end;

-- 执行存储过程

call sums(100);

-- 删除存储过程

drop procedure if exists sums;

第三种 repeat 循环:

/*repeat 循环语法

repeat

循环体

until 条件

end repeat;

*/

create procedure sumn(a int)

begin

declare sum int default 0;

declare i int default 1;

repeat -- 循环开始

set sum=sum+i;

set i=i+1;

until i>a end repeat; -- 循环结束

select sum; -- 输出结果

end;

-- 执行存储过程

call sumn(100);

-- 删除存储过程

drop procedure if exists sumn;


版权声明:本文为weixin_36443241原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。