[begin_label
:] REPEATstatement_list
UNTILsearch_condition
END 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)