2017-07-12 12 views
0

oracleでフォース・ビューの問題が発生しました。ビューの一部の基本オブジェクトは、新しい列を追加するように変更されました。投稿がalter view < view name> compileでコンパイルされているときに、エラーが発生しています。フォース・ビューのコンパイル時にエラーが発生しています

警告:コンパイルエラーで表示が変わっています。エラーをチェックするには

、我々は得た:

ORA-00942: table or view does not exist. 

をしかし、我々は、ビューの選択クエリを実行しているとき、それが正常に実行し、データを抽出しています。

誰かがビューのコンパイルでこの問題を解決するのに手伝ってもらえますか?

答えて

2

を「我々はそれがうまく実行されているビュー選択クエリを実行している」だから、基本的なクエリがビューを作成しようとしている別のスキーマすなわちないスキーマ内のテーブルからデータを選択しているようだ、または他の方法では別のスキーマ内のオブジェクトを参照します。

何が起こったのかは、テーブルの所有者が、クエリのスキーマに付与されたロールに対するそのテーブルの権限を与えられたことです。ロールによって付与された権限は、付与されたオブジェクトに対してSQLを作成できますが、プログラム・オブジェクト(PL/SQL、ビューなど)を作成することはできません。これを行うには、テーブルの所有者がクエリを実行するユーザーに特権を直接与える必要があります。

これは、Oracleセキュリティ・モデルによって課される制限です。その他の回避策はありません。

関連する問題