mysql循环结构

LOOP循环:
LEVEL语句控制从流程中退出,常与begin end一起使用
下面这个例子,循环插入100条数据后退出:
    
    
delimiter $$
create procedure actor_insert()
begin
set @x=0;
ins: LOOP
set @x = @x + 1;
if @x = 100 then
leave ins;
end if;
insert into actor(first_name,last_name) values('test','201');
end loop ins;
end;
$$
delimiter ;
ITERATE语句,必须使用在循环中,表示跳过当前循环的剩下语句,跳入下一个循环
下面例子使用iterate,当变量@x为偶数时,不再执行循环中的剩下语句,而进入下一次循环
      
      
delimiter $$
create procedure actor_insert()
begin
set @x=0;
ins: LOOP
set @x = @x + 1;
if @x = 10 then
leave ins;
elsif mod(@x,2) = 0 then
iterate ins;
end if;
insert into actor(first_name,last_name) values('test','201');
end loop ins;
end;
$$
delimiter ;

repeat循环:
repeat语句控制循环当满足条件的时候退出循环
        
        
delimiter $$
create procedure pro11()
begin
declare i int default 0;
repeat
insert into t1(filed) values(i);
set i=i+1;
until i>=5
end repeat;
end;
$$
delimiter ;
while循环:
while语句同样控制循环当满足条件的时候执行
          
          
delimiter $$
create procedure pro10()
begin
declare i int;
set i=0;
while i<5 do
insert into t1(filed) values(i);
set i=i+1;
end while;
end;
$$
delimiter ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值