我有一个架构,其中包含我的项目DEV2上的绝大多数表。
此外,我有一个包含DEV2使用的oracle自定义类型的模式:PUBLIC_TYPES。
我希望能够在DEV2上创建访问PUBLIC_TYPES中的角色的触发器,但是更喜欢用角色执行此操作,这样当我创建DEV3(DEV2的克隆)时,我可以将角色授予DEV3在编译触发器之前。
目前,如果我执行以下操作:
grant all on public_types.type_name to DEV2;
然后(在DEV2用户上)我输入:
desc public_types.type_name;
我得到了类型的正确描述。
但是,如果我改为执行以下操作:
create role TABLE_PRIVS;
grant all on public_types.type_name_2 to TABLE_PRIVS;
grant table_privs to DEV2;
(然后切换到我的DEV2用户和desc)
desc public_types.type_name_2
我得到了
ORA-04043: object public_types.type_name_2 does not exist
我错过了什么?我已授予角色权限,并授予用户角色权限。这对于类型有何不同?
提前致谢!
答案 0 :(得分:0)