mysql循环结构

来源:互联网 发布:手机vpn软件 编辑:程序博客网 时间:2024/06/07 01:11
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 ;

0 0
原创粉丝点击