• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テーブルの再作成におけるリコンパイル)

テーブルの再作成におけるリコンパイル

このQ&Aのポイント
  • テーブルを再作成する際のリコンパイルについて
  • 参照しているビューを事前に知らない場合の確認方法
  • PL*SQLでのエラー確認とリコンパイルの可能性

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

ユーザ自作のSQLで、INVALID状態のオブジェクトを調べることは可能です。 オブジェクトブラウザは、同じ事を陰で処理しているだけです。 リコンパイルも行えます。 "ビュー等"という事ですが、どのようなオブジェクトに対応すれば良いのか 判らないので、ビューについてだけ、リコンパイルするスクリプトを掲示します。 declare cursor CUR1 is select * from all_objects where object_type='VIEW' and status<>'VALID'; begin for cur_record in cur1 loop execute immediate 'alter view '||cur_record.owner||'.'||cur_record.object_name||' compile'; end loop; end; こんな感じでビューのリコンパイルが自動化できるはずです。

tyurajima
質問者

お礼

回答ありがとうございます。 これで、作業が早く進みます。 object_typeを他のもの(例えばテーブルやパッケージ)にし、 動的SQLも同様にすれば、view以外でも使えますね。

すると、全ての回答が全文表示されます。

関連するQ&A