PDF (US Ltr)
- 36.1Mb
PDF (A4)
- 36.2Mb
このページは機械翻訳したものです。
[begin_label:] BEGIN
[statement_list]
END [end_label]
[begin_label:] LOOP
statement_list
END LOOP [end_label]
[begin_label:] REPEAT
statement_list
UNTIL search_condition
END REPEAT [end_label]
[begin_label:] WHILE search_condition DO
statement_list
END WHILE [end_label]
BEGIN ... END ブロックや、LOOP、REPEAT、および WHILE ステートメントに対してラベルが許可されます。 これらのステートメントに使用されるラベルは、次のルールに従います。
begin_labelのあとにコロンを付ける必要があります。begin_labelは、end_labelなしでも指定できます。end_labelが存在する場合、それはbegin_labelと同じである必要があります。end_labelは、begin_labelなしでは指定できません。同じネストレベルにあるラベルは異なっている必要があります。
ラベルは最大 16 文字の長さで指定できます。
ラベルが付けられた構造構文内でラベルを参照するには、ITERATE または LEAVE ステートメントを使用します。 次の例では、これらのステートメントを使用して繰り返しを続行するか、またはループを終了します。
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;
END;
ブロックラベルのスコープには、そのブロック内で宣言されているハンドラのコードは含まれません。 詳細は、セクション13.6.7.2「DECLARE ... HANDLER ステートメント」を参照してください。