如何使用 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)

更新于: 22-6 月 -2020

2k+ 浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告