-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