[begin_label:] REPEAT
statement_list
UNTIL search_condition
END REPEAT [end_label]
REPEAT
ステートメント内のステートメントリストは、search_condition
式が true になるまで繰り返されます。 そのため、REPEAT
は常に、少なくとも 1 回はループに入ります。statement_list
は、それぞれがセミコロン (;
) ステートメント区切り文字で終了する 1 つ以上のステートメントで構成されます。
REPEAT
ステートメントにはラベルを付けることができます。 ラベルの使用に関連したルールについては、セクション13.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)