在 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.TABLETABLE 是同义词。

Here有很多例子。

【讨论】:

这里的 SCHEMA 这个词有模式的 oracle 表示法 (***.com/questions/880230/…)... 它不代表“表空间”

以上是关于在 oracle 10G 中编写私有同义词的语法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

oracle中啥是同义词,它有几种类型,不同类型同义词的区别是啥?并写出语法?

Oracle笔记(十三) 视图同义词索引

oracle同义词

Oracle怎样创建同义词

Oracle11g12_同义词

在 oracle 中键入同义词