1

誰でもこれの何が問題なのか分かりますか:

ユーザー ABC:

create table def.something (
  id number,
  ref number references def.anotherTable(id)
);

create role ROUser;

grant select on def.something to ROUser;

grant ROUser to ghi;

ユーザー防御:

select * from something;
...
X rows returned

ユーザー GHI:

select * from def.something;
ORA-00942: table or view does not exist

問題は、GHI がアクセスできない外部キーがあるという事実def.somethingですか?


編集別のサーバーでこれをもう一度試したところ、正常に動作しました(つまり、期待どおり)。ここで何が起こっているのか完全にはわかりませんが、私の側のエラーと関係があると思います...そのため、質問を閉じることに投票しています。

4

1 に答える 1

0

SELECTそのステートメントを PL/SQL ブロックで実行している可能性が最も高いですか? PL/SQL では、ロールによって付与された権限は認識されません。そのテーブルに直接SELECT特権を追加してみて、それが機能するかどうかを確認してください。

于 2013-10-31T10:41:08.663 に答える