個々のテーブルがSELECT可能でもビュー化するとコンパイルできないことがある。
個々の SQL が直接実行可能でもストアド・サブプログラム化するとコンパイルできないことがある。
主な理由はロールによる権限が無効化されることを忘れているため。
DBA ロールユーザだとよくやってしまう。(SELECT ANY TABLE権限では足りない)
実行ユーザーには個別に各種権限の付与を行っておく必要がある。
また、スキーマAのビューV_BVIEW1がスキーマBのビューV_ATABLE1を参照し、
スキーマBのビューV_ATABLE1がスキーマAのテーブルTABLE1を参照しているとき、
(つまりスキーマAはスキーマB経由で自身のテーブルを参照しているとき)
スキーマAはスキーマBに
GRANT SERECT ON TABLE1 TO B WITH GRANT OPTION;
という風にオプションを付ける必要がある。
最終更新:2009年11月04日 10:11