如何将 MySQL WHILE 循环语句用于存储过程中?
我们知道 MySQL 给我们提供了循环语句,这些语句允许我们根据条件重复执行一系列 SQL 代码。WHILE 循环语句就是这类循环语句之一。它的语法如下所示 −
WHILE expression DO statements END WHILE
事实上,WHILE 循环会在每次迭代开始时检查表达式。如果表达式计算结果为真,MySQL 会执行 WHILE 和 END WHILE 之间的语句,直到表达式的计算结果为假。WHILE 循环在执行语句前检查表达式,因此它也被称为前测试循环。
要演示在存储过程中使用 WHILE 循环,下面是一个示例 −
mysql> Delimiter // mysql> CREATE PROCEDURE While_Loop() -> BEGIN -> DECLARE A INT; -> DECLARE XYZ Varchar(50); -> SET A = 1; -> SET XYZ = ''; -> WHILE A <=10 DO -> SET XYZ = CONCAT(XYZ,A,','); -> SET A = A + 1; -> END WHILE; -> SELECT XYZ; -> END // Query OK, 0 rows affected (0.31 sec)
现在,当调用此过程时,我们可以看到以下结果 −
mysql> DELIMITER ; mysql> call While_Loop(); +-----------------------+ | XYZ | +-----------------------+ | 1,2,3,4,5,6,7,8,9,10, | +-----------------------+ 1 row in set (0.03 sec)
广告