MySQL 重复循环

总结:在本教程中,您将学习如何使用 MySQL REPEAT 语句执行一个或多个语句,直到搜索条件为真。

该 REPEAT 语句执行一个或多个语句,直到搜索条件为真。

以下是 REPEAT 循环语句的基本语法:

[begin_label:] REPEAT
    statement
UNTIL search_condition
END REPEAT [end_label]

该 REPEAT 执行 statement ,直到 search_condition 计算结果为True。

所述 REPEAT 检查 search_condition 的执行之后 statement ,因此, statement 总是至少执行一次。这就是为什么 REPEAT 也称为测试后循环的原因。

该 REPEAT 声明可以在开始和结束标签。这些标签是可选的。

以下流程图说明了该 REPEAT 循环:

MySQL 重复循环

MySQL REPEAT 循环实例

此语句创建一个名为的存储过程 RepeatDemo ,该过程使用该 REPEAT 语句连接从 1 到 9 的数字:

DELIMITER $$

CREATE PROCEDURE RepeatDemo()
BEGIN
    DECLARE counter INT DEFAULT 1;
    DECLARE result VARCHAR(100) DEFAULT '';

    REPEAT
        SET result = CONCAT(result,counter,',');
        SET counter = counter + 1;
    UNTIL counter >= 10
    END REPEAT;

    -- display result
    SELECT result;
END$$

DELIMITER ;

在这个存储过程中:

首先,声明两个变量 counter , result 并将它们的初始值设置为 1 和空白。

该 counter 变量用于循环中从 1 到 9 的计数。该 result 变量用于存储每次循环迭代后的连接字符串。

其次,使用函数将 counter 值附加到 result 变量, CONCAT() 直到 counter 大于或等于 10。

以下语句调用 RepeatDemo() 存储过程:

CALL RepeatDemo();

这是输出:

+--------------------+
| result             |
+--------------------+
| 1,2,3,4,5,6,7,8,9, |
+--------------------+
1 row in set (0.02 sec)

Query OK, 0 rows affected (0.02 sec)

在本教程中,您将学习如何使用 MySQL REPEAT 语句执行一个或多个语句,直到搜索条件为真。