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)
阅读更多:MySQL 教程