#### 13.6.5.6 重复语句

[](<>)[](<>)

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

内的语句列表[`重复`](repeat.html)语句被重复，直到*`搜索条件`*表达式为真。因此，一个[`重复`](repeat.html)总是至少进入循环一次。*`声明列表`*由一个或多个语句组成，每个语句以分号 (`;`) 语句分隔符。

一种[`重复`](repeat.html)声明可以被标记。有关标签使用的规则，请参阅[第 13.6.2 节，“语句标签”](statement-labels.html).

例子：

```
mysql> delimiter //

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

mysql> CALL dorepeat(1000)//
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT @x//
+------+
| @x   |
+------+
| 1001 |
+------+
1 row in set (0.00 sec)
```
