MySQL REPEAT 循环语句如何在存储过程中使用?
众所周知,MySQL 为我们提供了循环语句,它允许我们基于条件重复执行一组 SQL 代码。REPEAT 循环语句就是其中一种循环语句。其语法如下 −
REPEAT statements; UNTIL expression END REPEAT
首先,MySQL 执行语句,然后它计算表达式值。如果表达式的值为 FALSE,MySQL 会重复执行该语句,直到表达式的值变为 TRUE。REPEAT 循环在语句执行之后检查表达式,这就是它也被称为后置检查循环的原因。
要演示使用REPEAT 循环和存储过程,下面是一个示例 −
mysql> Delimiter // mysql> CREATE PROCEDURE Repeat_Loop() -> BEGIN -> DECLARE A INT; -> DECLARE XYZ Varchar(50); -> SET A = 1; -> SET XYZ = ''; -> REPEAT -> SET XYZ = CONCAT(XYZ,A,','); -> SET A = A + 1; -> UNTIL A > 10 -> END REPEAT; -> SELECT XYZ; -> END // Query OK, 0 rows affected (0.04 sec)
现在,当我们调用此过程时,可以在下面看到结果 −
mysql> DELIMITER ; mysql> CALL Repeat_Loop(); +-----------------------+ | XYZ | +-----------------------+ | 1,2,3,4,5,6,7,8,9,10, | +-----------------------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)
广告