chr*_*ris 5 oracle schema view
我正在尝试创建一个视图,并将问题提炼为无法创建引用来自不同模式的表的视图.
例如,我可以这样做:
select count(*) from otherschema.othertable;
Run Code Online (Sandbox Code Playgroud)
我能做到:
create view foo as select count(*) as bar from oneofmytables;
Run Code Online (Sandbox Code Playgroud)
但如果我尝试:
create view foo as select count(*) as bar from otherschema.othertable;
Run Code Online (Sandbox Code Playgroud)
我收到"权限不足"错误.我需要什么额外的特权?
您是否直接向其他用户的表格授予费用?还是通过一个角色?您需要直接授予权限才能创建引用其他表的对象(视图,过程等).作为快速测试,在SQL*Plus中
SQL> set role none;
SQL> select count(*) from otherschema.othertable;
Run Code Online (Sandbox Code Playgroud)
如果失败,那么问题是您已通过角色授予表权限.
我猜你已经otherschema.othertable通过一个role不通过直接给出了选择权grant.
如果是这种情况,你应该连接as otheruser然后做一个grant select on othertable to <your-schema>.