LOOP ステートメントは、単純なループステートメントを構築するために使用されます。
[begin_label:] LOOP
statement_list
END LOOP [end_label]
LOOP ステートメントは、statement_list を繰り返し実行することを許可します。statement_list は1つまたは複数のステートメントで構成され、各ステートメントはセミコロン(;)で終了します。ループ内のステートメントは、LEAVE でループが終了するまで繰り返し実行されます。ストアドファンクションでは、RETURN を使用して関数から完全に終了することもできます。ループ終了ステートメントが含まれていない場合、無限ループになる可能性があります。label を使用して LOOP ステートメントをマークできます。
LOOP ステートメントの例は次のとおりです:
obclient> DELIMITER //
obclient> CREATE PROCEDURE iter_proc(p1 INT)
BEGIN
loop_label1: LOOP
SET p1 = p1 + 10;
IF p1 < 100 THEN
ITERATE loop_label1;
END IF;
LEAVE loop_label1;
END LOOP loop_label1;
SET @x = p1;
END //
Query OK, 0 rows affected