MySQL REPEAT循环

时间:2019-11-20 08:52:31  来源:igfitidea点击:

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

REPEAT语句执行一个或多个语句,直到满足搜索条件为止。

这是REPEAT循环语句的基本语法:

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

REPEAT执行该语句,直到search_condition评估为true。

REPEAT在执行语句后检查search_condition,因此,该语句始终至少执行一次。
这就是为什么REPEAT也被称为测试后循环的原因。

REPEAT语句的开头和结尾可以有标签。
这些标签是可选的。

下面的流程图说明了REPEAT循环:

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并为空白。

计数器变量用于在循环中从1计数到9。
结果变量用于在每次循环迭代之后存储连接的字符串。

其次,使用CONCAT()函数将计数器值附加到结果变量,直到计数器大于或等于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语句执行一个或多个语句,直到满足搜索条件为止。