ALTER ステートメント

ALTER ステートメントは、GO TO ステートメントの中で指定されている制御の転送先を変更します。
注: ALTER ステートメントは、構造化されていないプログラミング技法を促すものです。ALTER ステートメントと同じ機能を提供するものに EVALUATE ステートメントがあり、これはプログラムをより良く構成するのに役立ちます。
構文図を読む構文図をスキップする
ALTER ステートメント - 形式

          .--------------------------------------------.   
          V                                            |   
>>-ALTER----プロシージャー名-1--TO--+------------+--プロシージャー名-2-+-------><
                            '-PROCEED TO-'                 

ALTER ステートメントの実行によって、プロシージャー名-1 で名前を指定された段落中の GO TO ステートメントが修正されます。 続いてこの修正された GO TO ステートメントが実行されると、プロシージャー名-2 へ制御が移ります。
プロシージャー名-1
手続き部の段落には文が 1 つだけが含まれる必要があります。 それは DEPENDING ON 句のない GO TO ステートメントです。
プロシージャー名-2
手続き部のセクションまたは段落でなければなりません。

プロシージャー名-1 およびプロシージャー名-2 が宣言プロシージャー内にある場合、そのどちらも、どの非宣言プロシージャーも参照できません。 プログラムの非宣言の中では、EXCEPTION/ERROR 宣言プロシージャーの中に現れるプロシージャー名に対する参照があってはなりません。

ALTER ステートメントの実行前に、プロシージャー名-1 に指定されている段階に制御が移った場合には、GO TO ステートメントは GO TO ステートメントで指定された段落に制御を移します。 しかし、ALTER ステートメントの実行後に、制御が再度プロシージャー名-1 によって指定された段落へ渡ると、GO TO ステートメントは制御をプロシージャー名-2 によって指定されている段落へ渡します。

注: RECURSIVE 属性をもつプログラムで、 ALTER ステートメントを使用しないでください。
関連情報