格式
循环名称:loop
if 退出条件 then
leave 循环名称;
end if;
if 跳过条件 then
处理循环变量
iterate 循环名称;
end if;
end loop 循环名称;
示例1 求总和
示例2 求偶数和
DELIMITER !
CREATE PROCEDURE loop_test3(IN num INT)
BEGIN
DECLARE result INT DEFAULT 0;
DECLARE counter INT DEFAULT 1;
dog:LOOP
IF counter > num THEN
LEAVE dog;
END IF;
-- 如果counter是奇数,就不要再往后走
IF counter % 2 = 1 THEN
SET counter = counter + 1;
ITERATE dog;
END IF;
SET result = result + counter;
SET counter = counter + 1;
END LOOP dog;
SELECT result;
END !