分类:
while、loop、 repeat
循环控制
iterate类似于 continue,继续,结束本次循环,继续下一次
leave类似于 break,跳出,结束当前所在的循环
#1. while
语法:
【标签:】while 循环条件 do
循环体;
end while【标签】;
案例:插入10条记录
delimiter $
CREATE PROCEDURE pro_while(IN insertCount INT)
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i<=insertCount DO
INSERT INTO job(job.name,job.birth,job.job,job.dateinfo) VALUES (CONCAT('张',i),NOW(),'各种长',NOW());
SET i=i+1;
END WHILE;
END $
CALL pro_while(10);
案例:结合leave插入10条记录
delimiter $
CREATE PROCEDURE pro_while(IN insertCount INT)
BEGIN
DECLARE i INT DEFAULT 1;
a:WHILE i<=insertCount DO
INSERT INTO job(job.name,job.birth,job.job,job.dateinfo) VALUES (CONCAT('张',i),NOW(),'各种长',NOW());
IF i>=10 THEN LEAVE a;
END IF;
SET i=i+1;
END WHILE;
END $
CALL pro_while(100);
案例:结合iterate插入10条记录
delimiter $
CREATE PROCEDURE pro_while(IN insertCount INT)
BEGIN
DECLARE i INT DEFAULT 1;
a:WHILE i<=insertCount DO
SET i=i+1;
IF MOD(i,10)!=0 THEN ITERATE a;
END IF;
INSERT INTO job(job.name,job.birth,job.job,job.dateinfo) VALUES (CONCAT('张',i),NOW(),'各种长',NOW());
END WHILE a;
END $
CALL pro_while(100);
#2. loop
语法:
【标签:】loop
循环体;
endloop【标签】;
可以用来模拟简单的死循环
#3. repeat
语法:
【标签:】 repeat
循环体;
until 结束循环的条件
end repeat【标签】;