MySql存储过程—6、循环
在MySql的存储过程中可使用的循环有三种:WHILE、REPEAT、LOOP
1、WHILE
WHILE的格式是这样的:
DELIMITER $$DROP PROCEDURE IF EXISTS `test`.`LoopProc` $$CREATE PROCEDURE `test`.`LoopProc` ()BEGINDECLARE x INT;DECLARE str VARCHAR(255);SET x = 1;SET str = '';loop_label: LOOP IF x > 10 THEN LEAVE loop_label; END IF; SET x = x + 1; IF (x mod 2) THEN ITERATE loop_label; ELSE SET str = CONCAT(str,x,','); END IF;END LOOP;SELECT str;END $$DELIMITER ;上面代码输出10以内的偶数,用逗号分隔。这里注意到x>10的时候就LEAVE掉,如果遇到奇数则ITERATE,奇数对2取模为1,表示true