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时退出循环。

Logo

更多推荐