ALTER PROCEDURE (SQL) ステートメント

ALTER PROCEDURE (SQL) ステートメントは、プロシージャーのプロパティーを変更して、既存の SQL プロシージャーを変更します。

呼び出し

このステートメントは、アプリケーション・プログラムに組み込んだり、動的 SQL ステートメントを使用して発行したりすることができます。 これは、DYNAMICRULES の実行動作がパッケージに効力を持つ場合にのみ、動的に準備できる実行可能ステートメントです (SQLSTATE 42509)。

許可

ステートメントの許可 ID によって保持されている特権には、少なくとも以下のいずれかの権限が含まれていなければなりません。
  • プロシージャーのスキーマに対する ALTERIN 特権
  • SYSCAT.ROUTINES カタログ・ビューの OWNER 列に記録されているそのプロシージャーの所有者
  • プロシージャーのスキーマに対する SCHEMAADM 権限
  • DBADM 権限

構文

構文図を読む構文図をスキップするALTERprocedure-designator EXTERNAL ACTIONNO EXTERNAL ACTIONNEW SAVEPOINT LEVEL
procedure-designator
構文図を読む構文図をスキップするPROCEDUREprocedure-name(,data-type)SPECIFIC PROCEDUREspecific-name

説明

procedure-designator
変更するプロシージャーを指定します。 procedure-designator は、現行サーバーに存在するプロシージャーを示していなければなりません。 プロシージャーの所有者およびそのプロシージャーに対するすべての特権は保存されます。 詳しくは、関数、メソッド、およびプロシージャーの指定子を参照してください。
EXTERNAL ACTION または NO EXTERNAL ACTION
プロシージャーが、データベース・マネージャーによって管理されていないオブジェクトの状態を変更するアクションを取るか (EXTERNAL ACTION)、 または取らないか (NO EXTERNAL ACTION) を指定します。 NO EXTERNAL ACTION を指定した場合、 プロシージャーが外部に影響を与えないことを前提とした最適化を、システムは使用できます。
NEW SAVEPOINT LEVEL
新規セーブポイント・レベルをプロシージャーに対して作成することを指定します。 セーブポイント・レベルは、任意のセーブポイント関連ステートメントの参照範囲と、 セーブポイント名の比較および参照に使用される名前空間を参照します。

プロシージャーのプロシージャー・レベルは NEW SAVEPOINT LEVEL にのみ変更可能です。

規則

  • 以下のスキーマのプロシージャーは変更できません (SQLSTATE 42832)。
    • SYSIBM
    • SYSFUN
    • SYSPROC

MEDIAN_RESULT_SET プロシージャーが外部アクションを持たないことを示すように変更します。
   ALTER PROCEDURE MEDIAN_RESULT_SET(DOUBLE)
     NO EXTERNAL ACTION