午後、ストアド・プロシージャ内の異なるユーザーのビューへのアクセス
私はORACLEデータベースUSER1およびUSER2に2人のユーザーを持っています。
USER2は、ビューVIEW1を持っている、と私はこのような、カーソルを通じてVIEW1にアクセスするにはUSER1の手順をしたい:私はPROCEDURE1をコンパイルしようとすると、私はエラーを取得し、
create or replace procedure PROCEDURE1 is
CURSOR C_CURSOR
IS
select * from USER2.VIEW1;
BEGIN
RETURN;
end PROCEDURE1;
をしかし:
ORA-01031 - 私はUSER1からうまく次のクエリを行うことができますよう不十分priveliegesは
しかし、私は、ストアドプロシージャ内でこのエラーが出る:
select * from USER2.VIEW1;
私が間違っていることを教えてもらえますか?
ありがとうございます!
USER1が役割を経由して、間接的にアクセスを許可されている必要があります。このプロシージャを作成するには、明示的な権限が必要です。「user2.view1からuser1へのgrant select」; –
ありがとうございます!私はそれを前に試してみましたが、USER2.VIEW1が第3のUSER USER3のテーブルから選択していたので、私はできませんでした。私は最終的に、USER3からUSER2へのテーブルのselectをgrantオプションで与えることでそれを得ました。 – miduarte