我正在Oracle中编写存储过程,当我通过DECLARE
运行它时,我的PLSQL取得了巨大的成功。
但是,当我尝试将其切换并创建存储过程(我有权限)时,我收到此错误:PL/SQL: ORA-00942: table or view does not exist
我通过同义词以我的DECLARE
方式引用该表完全相同,并且它运行没有问题。
我需要另外一个存储过程的权限或类似的东西吗?
参考代码段:
select count(nbr) into v_count from cla.numericPlayer where length(nbr) != 15;
答案 0 :(得分:3)
这里当你使用存储过程时,请确保你已经给出了 直接对象级别GRANT而不是角色。
如果您尝试在CLA模式中编译过程,那么它 不应该是任何问题,但如果你想在其他方面做 架构然后你可能需要一个OBJECT级别GRANT。希望这个 帮助
TRY
GRANT SELECT ON CLA.numericPlayer TO <SCHEMA>;