mysql中,循环有while do , loop, repeat until, 循环体里的跳转语句有 iterate ,类似于continue,开始下一轮循环, leave,类似于break 结束循环体。
语法:
[标签:] while 条件 do # [] 表示可选
循环体...
end while [标签];
示例: 批量插入,根据次数插入多次数条到某个表
中, 如果次数大于20则停止:
delimiter $
create procedure pro_while( in insertCount int )
begin
declare i int default 1;
a: while i <= insertCount do
if i > 20 then leave a;
end if;
#插入语句;
set i = i +1;
end while a;
end $;
delimiter ;
语法:
[标签:] loop
循环体;
end loop [标签];
loop 没有条件判定
,若要结束循环体只能搭配leave 标签;
使用,否则就是死循环。
语法
[标签:] repeat
循环体
until 满足结束循环的条件
end repeat [标签];
repeat 必然
会执行一次循环体,而,其条件 是 满足该条件之后就结束循环体,与while 满足条件则执行循环体恰恰相反。