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)

更新时间: 22-Jun-2020

804 次浏览

开启你的 职业

完成该课程以获得认证

开始
广告