gpt4 book ai didi

oracle - ORA-00980 同义词翻译在 PLSQL 中不再有效

转载 作者:行者123 更新时间:2023-12-04 08:33:42 24 4
gpt4 key购买 nike

我有一个远程 Oracle 数据库的同义词,我可以通过数据库链接在 SQL 中访问它,例如,

insert into my_table select * from my_synonym@my_database_link;

如果我将上述语句放入 PLSQL 块中,它将无法编译,并给出错误消息“ORA-00980:同义词翻译不再有效”。标准解释是同义词指向的表已被删除等,但事实并非如此,因为该语句在 SQL 中有效。

最佳答案

如果某些东西在 SQL 中有效但在 PL/SQL 中无效,那么在大多数情况下,这是权限问题。

当您进入 PL/SQL 块时,用户通过角色获得的任何权限都不是事件的。所以很可能是 SELECT底层表的特权是通过角色授予的,因此在 PL/SQL 块中不是“事件的”。

通常的解决方法是将权限直接授予用户,而不是通过角色。

关于oracle - ORA-00980 同义词翻译在 PLSQL 中不再有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31789485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com