Oracle存储过程中无法调不同用户表的问题


当前Oracle的登录用户为A,创建以下存储过程:

  1. create or replace procedure myproc as 
  2. begin 
  3.   insert into B.object values(...); 
  4.   commit
  5. end

此时会报错:

Error: PL/SQL: ORA-00942: table or view does not exist 

原因:

A用户没有权限操作B用户下的表,需要在B用户下显示地给A用户授权!

用B用户登录,执行以下操作:

GRANT ALL ON object TO A; 

相关内容