ALTER PROCEDURE (ソース派生) ステートメント

ALTER PROCEDURE (ソース派生) ステートメントは、ソース・プロシージャーの 1 つ以上のパラメーターのデータ・タイプを変更して、既存のソース・プロシージャーを変更します。

呼び出し

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

許可

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

構文

Read syntax diagramSkip visual syntax diagramALTERprocedure-designator ALTER PARAMETERparameter-alteration
procedure-designator
Read syntax diagramSkip visual syntax diagramPROCEDUREprocedure-name(,data-type)SPECIFIC PROCEDUREspecific-name
parameter-alteration
Read syntax diagramSkip visual syntax diagramparameter-nameSET DATA TYPEdata-type

説明

プロシージャー指定子 (procedure-designator)
変更されるプロシージャーを固有識別します。 識別されるプロシージャーは、ソース・プロシージャーでなければなりません (SQLSTATE 42849)。 詳しくは、 関数、メソッド、およびプロシージャーの指定子を参照してください。
parameter-name
変更するパラメーター値を識別します。 parameter-name は、プロシージャーの既存のパラメーターを指定しなければなりません (SQLSTATE 42703)。 この名前には、同じ ALTER PROCEDURE ステートメントで変更されるパラメーターは指定できません (SQLSTATE 42713)。
data-type
パラメーターの新規ローカル・データ・タイプを指定します。 CREATE TABLE ステートメントの data-type の定義で有効な SQL データ・タイプ仕様と省略形を指定することができます。 BLOB、CLOB、DBCLOB、DECFLOAT、XML、REFERENCE、およびユーザー定義タイプはサポートされません (SQLSTATE 42815)。

フェデレーテッド・プロシージャー FEDEMPLOYEE が、'EMPLOYEE' というリモート Oracle プロシージャーに対して作成されていると想定します。 The data type of an input parameter named SALARY maps to a DOUBLE(8) in Db2®. Alter the data type of this parameter to DECIMAL(5,2).
   ALTER PROCEDURE FEDEMPLOYEE
     ALTER PARAMETER SALARY
     SET DATA TYPE DECIMAL(5,2)