[begin_label:] LOOP
statement_list
END LOOP [end_label]
LOOP
は単純なループ構造構文を実装し、それぞれがセミコロン (;
) ステートメント区切り文字で終了する 1 つ以上のステートメントで構成されたステートメントリストの繰り返し実行を可能にします。 ループ内の各ステートメントは、そのループが終了するまで繰り返されます。 通常、これは LEAVE
ステートメントで実行されます。 ストアドファンクション内では、RETURN
も使用できます。これにより、そのストアドファンクションが完全に終了します。
ループ終了ステートメントが含まれていない場合は、無限ループが発生します。
LOOP
ステートメントにはラベルを付けることができます。 ラベルの使用に関連したルールについては、セクション13.6.2「ステートメントラベル」を参照してください。
例:
CREATE PROCEDURE doiterate(p1 INT)
BEGIN
label1: LOOP
SET p1 = p1 + 1;
IF p1 < 10 THEN
ITERATE label1;
END IF;
LEAVE label1;
END LOOP label1;
SET @x = p1;
END;