用户A/B 都有 DBA 权限了!
A 用户  和 B 用户现在 A 用户底下有个储存过程 aa  要 调用 B 用户底下的一个储存过程 bb  我直接写 B.储存过程名称  编译告诉我 
PLS-00201:必须说明标识符 
就是 
 在 用户A 底下去 访问 用户B 底下的储存过程  
我是这样写的
用户A底下的储存过程
create or replace procedure aa
 is
begin    bb.test('11','22','33');  -- 调用用户B 下的储存过程
 -- 在 PL/SQL 中 我的 test 都有自能感知功能 test的参数系统都可以自动提示end aa;现在在编译中 PL/SQL 提示我 PLS-00201 :必须说明标识符 bb.test

解决方案 »

  1.   

    首先要登陆B用户, 把BB这个存储过程授权给A用户,
    这样A用户才能调用BB.接下来你还会碰到个问题~ 比如BB里去更新一张表叫T好了.
    那A用户调用BB这个过程,到底是要更新A用户的T表还是B用户的T表??  两个情况语法不一样的
      

  2.   

    权限问题,
    grant execute any procedure to a;
      

  3.   

    在用户a下执行
    create database link user.B.dblink connect to b identified by b using 'service_name';
    create synonym procOfUserB_test for [email protected];execute procOfUserB_test('11','22','33');  
      

  4.   

    B用户下:
    grant all on test to A;A用户下:
    bb.test('11','22','33');  -- 调用用户B 下的储存过程
    =》
    b.test('11','22','33');  -- 调用用户B 下的储存过程