摘要:在本教程中,您将学习如何使用 MySQL REPEAT
语句执行一个或多个语句,直到搜索条件成立。
REPEAT
语句执行一个或多个语句,直到搜索条件为真。
以下是REPEAT
循环语句的基本语法:
[begin_label:] REPEAT
statement
UNTIL search_condition
END REPEAT [end_label]
Code language: SQL (Structured Query Language) (sql)
REPEAT
执行statement
直到search_condition
计算结果为 true。
REPEAT
在执行statement
后检查search_condition
,因此, statement
总是至少执行一次。这就是为什么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 ;
Code language: SQL (Structured Query Language) (sql)
在此存储过程中:
首先,声明两个变量counter
和result
,并将它们的初始值设置为1和空白。
counter
变量用于在循环中从 1 计数到 9。 result
变量用于存储每次循环迭代后连接的字符串。
其次,使用CONCAT()
函数将counter
值附加到result
变量,直到counter
大于或等于 10。
以下语句调用RepeatDemo()
存储过程:
CALL RepeatDemo();
Code language: SQL (Structured Query Language) (sql)
这是输出:
+--------------------+
| 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)
Code language: SQL (Structured Query Language) (sql)
在本教程中,您将学习如何使用 MySQL REPEAT
语句执行一个或多个语句,直到搜索条件成立。
本教程有帮助吗?