【发布时间】:2014-06-20 10:15:31
【问题描述】:
我有一个内部应用程序和我们的网站共享的 Oracle 数据库。
我对 oracle 知之甚少,所以我会解释一下我是如何理解它的。
数据库有两个用户APPUSER和WEBUSER,当以APPUSER身份登录(使用Oracle SQL Developer)时,您可以看到数据库中的所有表。当以 WEBUSER 身份登录时,您只能看到几个程序,而 APPUSER 看不到这些程序。
一个过程开始于:
create or replace PROCEDURE "UPDATE_DETAIL"
(v_ref IN APPUSER.DETAILS.REFERENCE%TYPE
,v_desc IN APPUSER.DETAILS.DESCRIPTION%TYPE
...
第 2 行有一个红色波浪线,带有“PLS-00201:未声明标识符 APPUSER”
我相信它有“APPUSER.TABLE.COLUMN”,因为 WEBUSER 没有直接访问表的权限。
我已经以 WEBUSER 身份执行了GRANT ALL ON UPDATE_DETAIL TO APPUSERlogged in,但这并没有解决问题,WEBUSER 是该程序的所有者,但在授权列表中没有列出任何内容(我假设是因为所有者只是拥有以下权限)默认?)
该过程的依赖项列表也是空的,但找不到如何手动添加一个。
不确定还有什么方法可以解决此错误。
谢谢。
【问题讨论】: