BEGIN ... END ステートメントは、BEGIN 内で定義されたステートメントおよび END キーワードに、 単一ステートメントの状況を与えます。
これにより、ステートメントが関数またはプロシージャーの本体になります。
2 番目の LABEL を取れるのは、最初の LABEL がある場合だけであり、そのとき 2 つの LABEL は同一でなければなりません。 同じレベルの 2 つ以上のラベル付きステートメントが同じ Label を持つことは可能ですが、 2 番目の Label の利点は部分的に否定されます。 その利点とは、レベルがあいまいさなしに正確に各 END をその BEGIN と一致させることです。 ただし、ステートメント内のラベル付きステートメントが同じ LABEL を持つことはできません。なぜなら、この場合 ITERATE と LEAVE ステートメントの動作があいまいになるからです。
BEGIN ... END ステートメントを、常に 1 回だけループするループ構成体と考えることができます。 BEGIN ... END ステートメント内での ITERATE または LEAVE の効果は同じです。 制御は END の次のステートメントに転送されます。BEGIN ... END ステートメント内で ITERATE または LEAVE を使用することは、明確な結果が出ているかエラーが起きたために 長々とした計算を中止する必要のある場合に有効です。
DECLARE Variable1 CHAR 'Existing variable'; -- ここでの Variable1 への参照は 'Existing variable' を戻します。 BEGIN -- ここでの Variable1 への参照は 'Existing variable' を戻します。 DECLARE Variable1 CHAR 'Local variable'; -- 名前は同じですが、正当なものです。 -- ここでの Variable1 への参照は 'Local variable' を戻します。 END;
注意 |
商標 |
ダウンロード |
ライブラリー |
技術サポート |
フィードバック
![]() ![]() |
ak04940_ |