-577 object-type object-name ATTEMPTED TO MODIFY DATA WHEN THE DEFINITION OF THE FUNCTION OR PROCEDURE DID NOT SPECIFY THIS ACTION
説明
現在の環境で、SQL ステートメントはデータを変更することができません。
以下のいずれかの状態が発生しています。
- ユーザー定義関数またはストアード・プロシージャー object-name が呼び出され、 データの変更が試みられましたが、 関数またはプロシージャーの定義が MODIFIES SQL オプションなしに行われました。
- ユーザー定義関数またはストアード・プロシージャー object-name が呼び出され、 データ定義ステートメントの実行が試みられましたが、関数またはプロシージャーの定義が MODIFIES SQL オプションなしに行われました。
- READS SQL DATA、CONTAINS SQL、または NO SQL により定義された 関数またはプロシージャーが、MODIFIES SQL DATA で定義された 別の関数またはプロシージャーの呼び出しを試みました。
- ユーザー定義関数またはストアード・プロシージャーの object-name が呼び出され、NEXT VALUE 式を使用しようと試みました。しかし、関数またはプロシージャーは、MODIFIES SQL DATA なしで定義されています。
ネストされた関数やプロシージャーの環境では、 SQL オプションは、事実上、ネストされた関数およびプロシージャーの階層で指定された、 最も限定的な SQL オプションです。 SQL データ・アクセス・オプションでは、 事実上、データを変更することができません。
システムの処置
このステートメントを処理することはできません。
プログラマーの応答
ALTER ステートメントを使用して、関数またはプロシージャーの定義を変更し、 ステートメントがデータを変更できるようにするか、 失敗した SQL ステートメントを、外部関数または外部プロシージャーから除去します。
SQLSTATE
38002