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 //

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

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