3

我有一个模式 [A],它有一个包,其中一个函数调用另一个模式的 [B] 表 [tableB]。当我编译包时出现错误,“表或视图不退出”我用谷歌搜索发现错误是因为我的包正在调用另一个模式的表。后来我发现我必须在被调用的模式[B]中授予特权。在 Schema B 的包中,我编写了以下代码

程序 givePrivilege 开始 GRANT SELECT ON tableB TO A; 结尾;

我是甲骨文的新手,我很震惊。

4

2 回答 2

6

跟着这些步骤:

1) 登录到模式 B
2) 运行语句GRANT SELECT ON tableB TO A;
3) 在包中确保 tableB 被引用为 B.tableB
4) 编译包。

于 2012-07-09T16:27:43.153 回答
2

作为 B,您只需授予 ASELECT对表的权限。您无需创建授予权限的过程。您只需要GRANT在以 B 身份登录时执行该语句。

GRANT SELECT ON tableB
   TO a
于 2012-07-09T16:27:27.567 回答