ORA-01031: ビューを選択する際の権限が不足しています。

異なるスキーマのテーブルを含むビューを実行しようとすると、 ORA-001031 Insufficient privileges が発生します。 これらのテーブルは、ビューが作成されたスキーマの実行権限を持っています。 ビューのSQLステートメントを実行すると動作します。 何が足りないのでしょうか?

ようやく動作するようになりました。 Steve'の答えは正しいのですが、すべての場合ではありません。 そのビューが3番目のスキーマから実行されている場合は失敗します。 動作させるためには、グラントオプションを追加する必要があります。


grant select on [table_name] to [read_username] with grant option;
```

これにより、`[READ_USERNAME]`は、別のスキーマにもビューに対するセレクト権限を付与することができます。
解説 (2)
ソリューション

テーブルの所有者として、SELECT文を実行するユーザーに、基礎となるテーブルのSELECTアクセスを許可する必要があります。

grant SELECT on TABLE_NAME to READ_USERNAME;
解説 (0)

ストアドプロシージャを介してビューにアクセスする場合、実行グラントでは不十分です。 select を明示的に付与する必要があります。

解説 (0)