REPEAT ステートメントは、ステートメントを繰り返し実行するために使用されます。
REPEAT ステートメントの構文は次のとおりです:
[begin_label:] REPEAT
statement_list
UNTIL search_condition
END REPEAT [end_label]
REPEAT ステートメント内の statement_list は、search_condition 式がTrueになるまで繰り返し実行されます。したがって、REPEAT は少なくとも1回ループに入ります。statement_list は1つ以上のステートメントで構成され、各ステートメントはセミコロン(;)で終了します。label を使用して REPEAT ステートメントをマークできます。
REPEAT ステートメントの例は次のとおりです:
obclient> DELIMITER //
obclient> 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
obclient> CALL rep_proc(100)//
Query OK, 0 rows affected
obclient> SELECT @x//
+------+
| @x |
+------+
| 101 |
+------+
1 row in set