[begin_label:] REPEATstatement_listUNTILsearch_conditionEND 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)
