ORAエラー

[ORAエラー] ORA-38104: ON句で参照する列は更新できません

投稿日:2019年11月26日 更新日:

以下のように表示されます。

(日本語)
ORA-38104: ON句で参照する列は更新できません
(英語)
ORA-38104: Columns referenced in the ON Clause cannot be updated

発生パターン

このエラーは以下のような場合に発生します。

  • MERGE文で、ON句に指定した条件の列を更新しようとした
エラー例
SQL> MERGE INTO tbl01 2 USING tbl02 3 ON (tbl01.id = tbl02.id) 4 WHEN MATCHED THEN 5 UPDATE SET 6 tbl01.id = tbl02.id, 7 tbl01.name = tbl02.name 8 WHEN NOT MATCHED THEN 9 INSERT (id, name) 10 VALUES (tbl02.id, tbl02.name) 11 / ON (tbl01.id = tbl02.id) * 行3でエラーが発生しました。: ORA-38104: ON句で参照する列は更新できません: "TBL01"."ID"

6行目でid列をUPDATEしようとしているが、id列は3行目の結合条件に使用しているためエラーとなっています。

対処法

  • MERGE文のON句に指定した列は更新することはできないので、
    ON句に指定した列を更新しなくても良いようにMERGE文を見直してください。

関連項目


スポンサーリンク

スポンサーリンク

-ORAエラー

執筆者:



comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

スポンサーリンク