ALTER METHOD ステートメント
ALTER METHOD ステートメントは、メソッドに関連付けたメソッド本体を変更して、既存のメソッドを変更します。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込んだり、動的 SQL ステートメントを使用して発行したりすることができます。 これは、DYNAMICRULES の実行動作がパッケージに効力を持つ場合にのみ、動的に準備できる実行可能ステートメントです (SQLSTATE 42509)。
許可
ステートメントの許可 ID によって保持されている特権には、少なくとも以下のいずれかの権限が含まれていなければなりません。
- データベースに対する CREATE_EXTERNAL_ROUTINE 権限、および以下の少なくとも 1 つ。
- タイプのスキーマに対する ALTERIN 特権
- タイプのスキーマに対する SCHEMAADM 特権
- SYSCAT.DATATYPES カタログ・ビューの OWNER 列に記録されているそのタイプの所有者
- DBADM 権限
構文
説明
- method-designator
- 変更されるメソッドを一意的に識別します。 詳しくは、関数、メソッド、およびプロシージャーの指定子を参照してください。
- EXTERNAL NAME 'string' または identifier
- メソッドをインプリメントするユーザー作成コードの名前を指定します。 このオプションは、外部メソッドを変更する際にのみ指定できます (SQLSTATE 42849)。
注
- SYSIBM、SYSFUN、または SYSPROC スキーマのメソッドは変更できません (SQLSTATE 42832)。
- LANGUAGE SQL として宣言されたメソッドは変更できません (SQLSTATE 42917)。
- LANGUAGE CLR として宣言されたメソッドは変更できません (SQLSTATE 42849)。
- 指定するメソッドは、変更する前に本体を持っている必要があります (SQLSTATE 42704)。
例
newaddresslib ライブラリーを使用するように、
構造化タイプ ADDRESS_T の DISTANCE() メソッドを変更します。
ALTER METHOD DISTANCE()
FOR ADDRESS_T
EXTERNAL NAME 'newaddresslib!distance2'