同一实例下的两个Oracle用户,B用户中的存储过程使用了指向A用户实表的同义词,报ORA-00942:table or view does not exist问题解决
场景:同一实例下有两个Oracle用户:A用户和B用户。A用户有一实表:ZJ10。B用户下建立指向A用户实表ZJ10的同义词ZJ10,B用户下一存储过程中部分内容如下:
SELECT COUNT(1)
INTO N_SUM
FROM ZJ10
WHERE AAB998 = PRM_AAB998
AND ISDEL = '0'
AND AAE100 = '1';
编译时报错:
ORA-00942:table or view does not exist
解决方案:
在A用户下给B用户授予表ZJ10的对应权限(此处授予读的权限即可,也可以授予全部权限):
grant select on ZJ10 TO B;
--或
grant all on ZJ10 TO B;