3
私はORA-38104: Columns referenced in the ON clause cannot be updated
を取得し、このマージ時にORA-3814エラーを回避するにはどうすればよいですか?
MERGE INTO target_table tgt
USING source_table src
on(tgt.c1=src.c1)
WHEN MATCHED THEN
UPDATE SET tgt.c1=src.c2
のようなコードを持っています。私はこのエラーの理由を理解しています。しかし、このコードをどのように書き直すことができますか?カーソルを使わずに可能性はありますか?これについて
を持っている場合、ステートメントの
WHEN NOT MATCHED
一部に流入することを意味し参加ORA- 01445:キー保存表なしで結合ビューからROWIDを選択できません原因:SELECT文は、結合操作から派生したビューからROWIDを選択しようとしました。ビューで選択された行は、基礎となる物理レコードに対応していないため、ROWIDは返されません。 '私がこのクエリを使用する場合 – Vivekあなたは少し違う何かをする必要があります。あなたは 't2.ROWID AS something 'を持っていますか? 'src.ROWID'を使用することは有効ではありません。それはなぜ私が' AS rid'をエイリアス化したのかです。 – Sodved
はい、あなたは正しいです。私は 't2.ROWID'の名前を' rid'と改名していませんでした。エイリアス名を追加すると正常に動作します。ありがとうSodved :) – Vivek