ORACLE機能 ORAエラー

[ORAエラー] ORA-42399: 読取り専用ビューではDML操作を実行できません

投稿日:

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

(日本語)
ORA-42399: 読取り専用ビューではDML操作を実行できません
(英語)
ORA-42399: cannot perform a DML operation on a read-only view

発生パターン

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

  • 読み取り専用のビューに対してUPDATE等のDML操作を行った
    (読取り専用ビューは WITH READ ONLYオプション付きで作成したビューです)
エラー例
SQL> update v_test set col2 = '100' where col1 = 'AA'; update v_test set col2 = '100' where col1 = 'AA'; * 行1でエラーが発生しました。: ORA-42399: 読取り専用ビューではDML操作を実行できません

v_testは、読取り専用ビューの前提です。

対処法

  • ビューの定義を更新可能なビューに変更する。
  • VIEW経由ではなく、TABLEを直接指定してDML操作を行う。

スポンサーリンク

スポンサーリンク

-ORACLE機能, ORAエラー

執筆者:



comment

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

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

スポンサーリンク