【问题标题】:How to access to the public synonym when there's another object with the same name in current schema?当前模式中存在另一个同名对象时如何访问公共同义词? 【发布时间】:2011-08-22 18:04:17 【问题描述】: 有人创建了一个公共同义词供我访问,但我已经有一个与该公共同义词同名的表。如何访问它? 【问题讨论】: 标签: oracle synonym 【解决方案1】: 使用“PUBLIC”作为架构名,引号是必需的。 【讨论】: 我试过了,但它不起作用并引发错误 ORA-00903: invalid table name 那么您需要提供有关您的 Oracle 架构/表名/同义词名称的更多信息... 好的,我尝试在示例模式“scott”中创建另一个模式“john”。我创建了一个公共同义词“s_emp”指向表“emp”。权限分配后,我可以从模式“john”访问“s_emp”。然后我在模式“john”中创建一个表“s_emp”。 我不太明白...你是怎么做同义词的?你是怎么分配权限的??? 我在“scott”下创建公共同义词:“create public synonym s_emp for emp”和“grant select on emp to john”,然后“john”可以通过“s_emp”访问。跨度>