分類
while 、loop、repeat
循環控制:
iterate 類似於continue,繼續,結束本次循環,繼續下一次
leave類似於 break,跳出,結束當前所在的循環
語法
while:
【標籤:】 while 循環條件 do
循環體;
end while 【標籤】;
loop:
【標籤:】loop
循環體;
end loop 【標籤】;
repeat:
【標籤:】 repeat
循環體
until 結束循環的條件
end repeat 【標籤】;
案例
批量插入,根據次數輸入到admin表中的記錄
DROP PROCEDURE pro_while $
CREATE PROCEDURE pro_while(IN insertCount INT)
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i<insetCount
DO
INSERT INTO admn(username,PASSWORD)
VALUES(CONCAT('Rose',i),'666');
SET i=i+1;
END WHILE;
END $
CALL pro_while(100)$
添加LEAVE語句,批量插入,插入次數>20則停止
TRUNCATE TABLE admin$
DROP PROCEDURE test_while(IN insertCount INT)
BEGIN
DECLARE i INT DEFAULT 1;
a:WHILE i<insertCount DO
INSERT INTO admin(username,PASSWORD)VALUES(CONCAT('henry',i),'2222');
IF i>20 THEN LEAVE a;
END IF;
END WHILE a;
END
CALL test_while(100)$