ストアドプロシージャを使用してテーブルの値を動的に更新しようとしています。私のストアドプロシージャは次のようになります。db2テーブルで値を動的に更新するためのストアドプロシージャ
CREATE OR REPLACE PROCEDURE Update
(
IN ID1 BIGINT,
IN SOURCE1 VARCHAR(100),
IN NAME1 VARCHAR(100)
)
DYNAMIC RESULT SETS 2
LANGUAGE SQL
BEGIN
UPDATE MessageTable
SET SOURCE=SOURCE1,
NAME=NAME1
WHERE ID=ID1;
END
ID1とSOURCE1の値だけを渡そうとすると、値が更新されません。 3つの値をすべて渡すと、正しく更新されています。私は2つの値を渡しても更新する必要があります。引数にDEFAULT NULLを与えようとしました。フィールドはNOT NULLと宣言されているため、動作していませんでした。誰かがこれを克服するのに役立つだろうか?ストアドプロシージャは、単一の値を渡しても機能するはずです。前もって感謝します。
ありがとうございます。それは正常に動作しています。 – mani