-951   OBJECT object-name OBJECT TYPE object-type IS IN USE AND CANNOT BE THE TARGET OF THE SPECIFIED ALTER STATEMENT

説明

ルーチンのバージョンが、ALTER ステートメントを発行したものと同じスレッド下で現在アクティブな場合、SQL ルーチンまたはトリガーのオプションは変更できません。また、1 つ以上のオプションを変更すると、オブジェクトのパッケージの再バインドまたは再生成が必要になります。

object-name
オブジェクトの名前。
object-type
オブジェクトのタイプ。

失敗したステートメントが ACTIVATE VERSION 節を含む ALTER ステートメントの場合、同じスレッドによるネストされたルーチン呼び出しでの現行のアクティブ・オブジェクトのアクティブ・バージョンは変更できません。

システムの処置

このステートメントを処理することはできません。

プログラマーの応答

オプションの変更に関する説明を参照し、どのような変更を行うと関連するパッケージの再生成または再バインドが必要になるのかを確認してください。

SQL ルーチンおよび ALTER ステートメントを使用する、ネストされたルーチン呼び出しのロジックが、意図したとおりに動作していることを確認してください。 SQL プロシージャーでは、特殊レジスター CURRENT ROUTINE VERSION の設定を伴う CALL :HV ステートメントには十分な注意を払ってください。これらのステートメントの組み合わせにより、意図していないロジック・フローが生じる可能性があります。ネストされた再帰的チェーンにおいて同じ SQL ルーチンの複数のバージョンを使用する必要がある場合は、ALTER ACTIVATE VERSION 節の代わりに、使用するバージョンを制御する CALL :HV および特殊レジスター CURRENT ROUTINE VERSION の使用を検討してください。

SQLSTATE

55007