在 oracle 10G 中编写私有同义词的语法是啥?
Posted
技术标签:
【中文标题】在 oracle 10G 中编写私有同义词的语法是啥?【英文标题】:what is syntax for writing a private synonym in oracle 10G?在 oracle 10G 中编写私有同义词的语法是什么? 【发布时间】:2012-09-05 05:54:56 【问题描述】:我正在使用以下语法在 oracle 10G 中创建表的私有同义词:
create private synonym <synonym name>
for <schema name>.<table name>;
我收到此错误:
ERROR at line 1:
ORA-00905: missing keyword
请用正确的语法指导我。我做了研究,但我发现只有公共同义词的语法。
【问题讨论】:
【参考方案1】:只需省略 private
关键字即可。
来自documentation:
CREATE [ OR REPLACE ] [ PUBLIC ] SYNONYM
[ schema. ]synonym
FOR [ schema. ]object [ @ dblink ] ;
公开 如果省略此子句,则同义词是私有的并且只能在其模式中访问。私有同义词名称在其架构中必须是唯一的。
【讨论】:
【参考方案2】:它对我有用:
create or replace synonym SCHEMA1.TABLE for SCHEMA2.TABLE;
或为您的架构
create or replace synonym TABLE for SCHEMA2.TABLE;
其中SCHEMA1.TABLE
或TABLE
是同义词。
Here有很多例子。
【讨论】:
这里的 SCHEMA 这个词有模式的 oracle 表示法 (***.com/questions/880230/…)... 它不代表“表空间”以上是关于在 oracle 10G 中编写私有同义词的语法是啥?的主要内容,如果未能解决你的问题,请参考以下文章