エラーが発生します。PL/SQL:ORA-00913:値が多すぎます。 ここで何をしようとしていますか、私の更新ステートメントは複数の行に影響します。 そして、キャプチャして、影響を受ける行を別のテーブルに記録しておきたい。 助けてください。 ベローズコードの場合。キャプチャして、影響を受けた行を別のテーブルに記録します。
DECLARE
TYPE cusRec IS TABLE OF customer%ROWTYPE INDEX BY PLS_INTEGER;
v_cusRec cusRec;
BEGIN
UPDATE customer
SET l_optionalmail = 1
WHERE c_customer_id IN ( SELECT c_customer_id
FROM customer cus,
agent age
WHERE cus.c_customer_id = age.c_customer_id
AND cus.l_optionalmail = 0
GROUP BY age.c_customer_id
HAVING MIN (age.d_movein) >=SYSDATE-1)
RETURNING cus.c_customer_id,cus.c_lastname,l_optionalmail
BULK COLLECT INTO v_bif001Rec;
DBMS_OUTPUT.PUT_LINE('Updated l_optionalmail column ' || SQL%ROWCOUNT || ' Rows.');
FOR i IN v_bif001Rec.FIRST..v_bif001Rec.LAST LOOP
INSERT INTO l_optionalmail_wrk(c_customer_id,c_lastname,l_optionalmail,d_created)
VALUES (v_bif001Rec(i).c_customer_id,v_bif001Rec(i).c_lastname,v_bif001Rec(i).l_optionalmail,SYSDATE);
END LOOP;
END;
私には、v_bif001Recの問題のようです。エラーログを提供できますか? – Rakesh