変更の始まり

-469   SQL CALL STATEMENT MUST SPECIFY AN OUTPUT VARIABLE FOR PARAMETER number

説明

Db2® は、 ストアード・プロシージャーの SQL CALL ステートメントを受け取りました。要求されたプロシージャー名と関連がある SYSIBM.SYSROUTINES カタログ表の 行を Db2 が見つけました。 しかし、SYSIBM.SYSPARMS 表で、 パラメーター number が OUT または INOUT パラメーターとして識別されています。 OUT または INOUT として定義されているパラメーターには、SQL CALL ステートメントで更新可能な変数を指定する必要があります。

関数に対する無効な入力引数、あるいはプロシージャーに対する無効な OUT または INOUT パラメーターの例として、定数や式があります。 例えば、1 つの OUT パラメーターを使用して MY_PROC という名前のプロシージャーを定義するとします。 以下のプロシージャー呼び出しは、OUT パラメーターに渡される引数が定数式なので無効です。 定数式には値を割り当てることができません。

CALL MY_PROC(1+2);
number
SYSIBM.SYSPARMS の ORDINAL フィールドにあるパラメーター番号。

システムの処置

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

プログラマーの応答

SQL CALL ステートメントが 間違ってコーディングされている場合、SQL アプリケーションを修正して、SQL CALL ステートメントに 出力変数を指定してください。

SYSIBM.SYSPARMS 表が誤った情報を含んでいる場合、ストアード・プロシージャーの カタログ定義を置き換えるには DROP PROCEDURE および CREATE PROCEDURE ステートメント を使用する必要があります。

SQLSTATE

42886

変更の終わり