drop table if exists t;
create table t (s1 int);
insert into t values (5);
select * from t;
-- --------------------------------------------------
drop procedure if exists p20;
delimiter //
create procedure p20 ()
begin
declare v int;
set v = 0;
loop_label: loop
if v = 3 then
set v = v + 1;
iterate loop_label;
end if;
insert into t values (v);
set v = v + 1;
if v >= 5 then
leave loop_label;
end if;
end loop;
end; //
delimiter ;
call p20();
select * from t;
/*
ITERATE(迭代)语句和LEAVE语句一样也是在循环内部的循环引用, 它有点像C语言中
的“Continue”,同样它可以出现在复合语句中,引用复合语句标号,ITERATE(迭代)意思
是重新开始复合语句。
+------+
| s1 |
+------+
| 5 |
| 0 |
| 1 |
| 2 |
| 4 |
+------+
*/
存储过程:迭代
最新推荐文章于 2022-09-02 09:37:43 发布