我的 oracle 数据库有一个用户(可以说是 SWEET)。在 SWEET 模式中,我有一个名为 AUTO_PARTS 的表。
现在,我创建了一个新用户 (SWEET_CV) 并在 SWEET 的 AUTO_PARTS 表上创建了一个视图。
CREATE SCHEMA AUTHORIZATION SWEET_CV
CREATE VIEW SWEET_CV.new_autoparts_view
AS SELECT * FROM SWIFT.AUTO_PARTS WHERE PRODUCTNAME = 'ABC'
GRANT select ON SWEET_CV.new_autoparts_view TO SWEET;
最后一个 Grant 语句给出了错误 ORA-01720:“SWEET.AUTO_PARTS”的授权选项不存在。所以我做了以下。
From SWEET account:
GRANT SELECT ON AUTO_PARTS TO SWEET_CV *WITH GRANT OPTION*
And then From SWEET_CV account:
GRANT SELECT ON SWEET_CV.new_autoparts_view TO SWEET;
两次赠款都成功了,我承诺了。
现在,当我登录 SWEET 并查询“select * from SWEET_CV.new_autoparts_view”时,将返回行。但是当我查询'select * from new_autoparts_view'时,它说表或视图不存在。你能解释一下为什么即使在我做了 GRANT 之后它也说不存在。
我想在我的 SWEET 中访问新模式的视图,而不必将其称为 newschema(dot)viewname
提前致谢