[begin_label
:] REPEATstatement_list
UNTILsearch_condition
END REPEAT [end_label
]
REPEAT
ステートメント中のステートメントリストは、search_condition
が真になるまで繰り返されます。このようにして、REPEAT
は常に、少なくとも1回入力ループを書き込みます。
statement_list
は複数のステートメントから成り立っています。
REPEAT
ステートメントにはラベルを貼ることができます。begin_label
がなければ、end_label
を与える事はできません。両方が存在する場合、これらは同じでなければなりません。
例:
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)