MySQL循环结构
程序员文章站
2022-05-16 23:20:11
分类:while、loop、repeat循环控制:iterate类似于continue、leave类似于break三种循环都只能放在BEGIN 和 END里面while循环语法[标签:] while 循环条件 do循环体;end while[标签];案例1:批量插入,根据次数插入多条记录到admin表中CREATE PROCEDURE pro_while1(IN insertCount INT)BEGINDECLARE i INT DEFAULT 1;WHILE i<=...
分类:while、loop、repeat
循环控制:iterate类似于continue、leave类似于break
三种循环都只能放在BEGIN 和 END里面
while循环语法
[标签:] while 循环条件 do
循环体;
end while[标签];
案例1:批量插入,根据次数插入多条记录到admin表中
CREATE PROCEDURE pro_while1(IN insertCount INT)
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i<=insertCount DO
INSERT INTO admin(username,password) VALUES(CONCAT('rose',i),'666');
SET i=i+1;
END WHILE;
END $
#调用存储过程
CALL pro_while1(10) $
案例2:添加leave,批量插入,根据次数插入多条记录到admin表中,当次数大于等于5则结束循环
CREATE PROCEDURE pro_while2(IN insertCount INT)
BEGIN
DECLARE i INT DEFAULT 1;
a:WHILE i<=insertCount DO
INSERT INTO admin(username,password) VALUES(CONCAT('xiaohua',i),'222');
IF i>=5 THEN LEAVE a;
END IF;
SET i=i+1;
END WHILE a;
END $
#调用存储过程
CALL pro_while2(5) $
案例3:添加iterate,批量插入,根据次数插入多条记录到admin表中,只插入偶数次
CREATE PROCEDURE pro_while3(IN insertCount INT)
BEGIN
DECLARE i INT DEFAULT 0;
a:WHILE i<=insertCount DO
SET i=i+1;
IF MOD(I,2)!=0 THEN ITERATE a;
END IF;
INSERT INTO admin(username,password) VALUES(CONCAT('pancras',i),'222');
END WHILE a;
END $
#调用存储过程
CALL pro_while3(10) $
loop循环语法
[标签:] loop
循环体;
end loop[标签];
repeat循环语法
[标签:] repeat
循环体;
until 结束循环的条件
end repeat[标签];
本文地址:https://blog.csdn.net/weixin_44237240/article/details/109005029