[begin_label:] REPEATstatement_listUNTILsearch_conditionEND REPEAT [end_label]
REPEAT
ステートメント中のステートメントリストは、search_condition
が真になるまで繰り返されます。このようにして、REPEAT
は常に、少なくとも 1
回入力ループを書き込みます。statement_list
は、各ステートメントがセミコロン
(;)
ステートメント区切り文字で終了する 1
つ以上のステートメントで構成されます。
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)
