web-dev-qa-db-ja.com

Oracleでのビューのコンパイル

現在、Oracleで非常に長いスクリプトを本番環境で実行していますが、データに差異があります。

スクリプトが使用しているビュー(Toadを使用しています)を確認したところ、ビュー名の横にXマークが表示され、それをコンパイルするオプションが表示されました。

ビューでのコンパイルとはどういう意味ですか?データの不一致を引き起こすビューが更新されていませんか?

3

ビューによって参照されているテーブルを変更したり、テーブルをDROPしたりすると、ビューは無効としてマークされ、テーブルへの変更によってビューのコードが不正確にならない場合でもアクセスできません。

その場合、ビューを再コンパイルする必要があります。

ALTER VIEW some_view COMPILE;

マニュアルの詳細:
https://docs.Oracle.com/database/121/SQLRF/statements_4004.htm#SQLRF01104