数据库的循环结构

  作者:记性不好的阁主

分类:

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【标签】;


归纳



相关推荐

评论 抢沙发

表情

分类选择