MySQL WHILE循环语句如何在存储过程中使用?

众所周知,MySQL提供了循环语句,使我们可以根据条件重复执行SQL代码块。WHILE循环语句就是这种循环语句之一。它的语法如下-

WHILE expression DO
statements
END WHILE

实际上,WHILE循环在每次迭代开始时都会检查表达式。如果表达式的值为真,MySQL将在WHILE和END WHILE之间执行语句,直到表达式的值为false。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 //

现在,当我们调用此过程时,我们可以看到以下结果:

mysql> DELIMITER ;
mysql> call While_Loop();
+-----------------------+
| XYZ |
+-----------------------+
| 1,2,3,4,5,6,7,8,9,10, |
+-----------------------+
1 row in set (0.03 sec)
猜你喜欢