跳到主要内容

REPEAT

REPEAT 语句用于重复执行语句。

REPEAT 语句的语法如下:

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

REPEAT 语句中的 statement_list 一直重复执行,直到 search_condition 表达式为 True。因此,REPEAT 至少进入循环一次。statement_list 由一个或多个语句组成,每个语句以分号(;)结尾。可以使用 label 标记 REPEAT 语句。

REPEAT 语句示例如下:

DELIMITER //

CREATE PROCEDURE rep_proc(p1 INT)
BEGIN
SET @x = 0;
REPEAT
SET @x = @x + 1;
UNTIL @x > p1 END REPEAT;
END
//
Query OK, 0 rows affected

CALL rep_proc(100)//
Query OK, 0 rows affected

SELECT @x//
+------+
| @x |
+------+
| 101 |
+------+
1 row in set