mysql的REPEAT循环语句的语法如下:
REPEAT
Statements;
UNTIL expression
END REPEAT
在REPEAT语句中不管是否满足给定条件,首先会执行一次statements, 然后再在UTILE中判断给定的条件是否成立,如果条件不成立会继续执行,如果条件成立则退出REPEAT循环。
如下是一个使用REPEAT语句的存储过程。
DELIMITER $$
DROP PROCEDURE IF EXISTS RepeatLoopProc$$
CREATE PROCEDURE RepeatLoopProc()
BEGIN
DECLARE x INT;
DECLARE str VARCHAR(255);
SET x = 1;
SET str = '';
REPEAT
SET str = CONCAT(str,x,',');
SET x = x + 1;
UNTIL x > 5
END REPEAT;
SELECT str;
END$$
DELIMITER ;
在存储过程中首先声明了两个变量x和str,然后在REPEAT语句中对str变量做concat操作,然后对x做加一操作,直到x>5
时退出循环。