【发布时间】:2014-04-24 07:35:06
【问题描述】:
db中有两个schema,我创建了一个物化视图——'MV1'并成功授权,在其他schema中选择就可以了。
GRANT select ON schemaA.MV_CA_REVENU_MS_GEO TO read;
/
GRANT select ON schemaA.MV_CA_REVENU_MS_GEO TO write;
/
GRANT update ON schemaA.MV_CA_REVENU_MS_GEO TO write;
/
但是在编译过程时,有错误消息说“MV1”的“表或视图不存在”。程序代码为:
create or replace
PROCEDURE SP_NAME (args ... ) is
.
.
begin
INSERT INTO tableName(
.
.
) SELECT ...
FROM (SELECT ...
FROM MV1 -- **schemaA.MV1 doesn't work either**
WHERE
end SP_NAME;
/
GRANT EXECUTE ON schemaB.SP_NAME TO read;
GRANT DEBUG ON schemaB.SP_NAME TO read;
GRANT EXECUTE ON schemaB.SP_NAME TO write;
GRANT DEBUG ON schemaB.SP_NAME TO write;
/
CREATE or replace PUBLIC SYNONYM SP_NAME FOR schemaB.SP_NAME;
/
我尝试在 MV1 前面添加 schemaA,它不起作用。我还需要检查其他步骤吗?
【问题讨论】:
-
我认为这与 stackoverflow.com/questions/8599393/… 相同。所以只需检查那里的解决方案。您需要使用直接授权而不是角色。
-
就这样吧!抱歉我的疏忽,谢谢。
标签: sql oracle oracle11g procedure