我想使用SCHEMA_B中表LICENSE中的列在SCHEMA_A中创建一个视图。
create view SCHEMA_B.V_TEST as
SELECT LICENSE_NUMBER FROM SCHEMA_A.LICENSE L
然后
select * from SCHEMA_B.V_TEST
这给了我" ORA-01031:权限不足"当我尝试从视图中选择管理员帐户时。 (编辑:管理员帐户具有SELECT ANY TABLE权限。)我缺少什么?
有一个类似的问题,但解决方案与一个用户授予另一个选择权有关。既然我是管理员,我应该对两个模式都有选择权限吗?但是,我尝试将行" GRANT SELECT ON SCHEMA_A.LICENSE添加到admin_account WITH GRANT OPTION"并得到同样的错误。
答案 0 :(得分:1)
我认为视图的创建失败了,因为schema_b没有schema_a.licence的select权限。由于您在schema_b中创建了一个对象,因此schema_b必须具有必要的权限。
授予它:
as schema_a(或DBA - “admin account”)
grant select on schema_a.licence to schema_b
然后您应该能够创建视图,然后从中进行选择。