Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

15.6.5.6 重复语句

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

重复 语句中,语句列表将被重复,直到 搜索条件 表达式为真。因此,重复 语句至少会执行一次循环。语句列表 由一个或多个语句组成,每个语句以分号 (;) 结束。

一个 重复 语句可以被标记。有关标签使用规则,请参阅 第 15.6.2 节,“语句标签”

示例:

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)