这句话什么意思?

[复制链接]
查看11 | 回复9 | 2007-10-20 08:38:44 | 显示全部楼层 |阅读模式
请问下面这句话是什么意思?
If you create a public synonym and it subsequently has dependent tables or dependent valid user-defined object types, then you cannot subsequently create another database object of the same name as the synonym in the same schema as the dependent objects.
我做的实验,似乎和描述的不符啊:
17:37:39 SQL> CREATE PUBLIC SYNONYM SYN_PUB_ILONNG_T1 FOR T1;
Synonym created.
Elapsed: 00:00:00.02
17:37:49 SQL> CREATE TABLE SYN_PUB_ILONNG_T1 ( A NUMBER);
Table created.
Elapsed: 00:00:00.03
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
up
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
这个应该针对私有的synonym来说的,不应该是public synonym
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
public synonym 是一个独立namespace
synonym,table 是同一个namespace
小霸王你这看的是什么文档?貌似中国人写的e文
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
sysnonym中文名叫同义词
从词面意思,也应该明白了吧??
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
最初由 ilonng 发布
[B]请问下面这句话是什么意思?
If you create a public synonym and it subsequently has dependent tables or dependent valid user-defined object types, then you cannot subsequently create another database object of the same name as the synonym in the same schema as the dependent objects.
我做的实验,似乎和描述的不符啊:
17:37:39 SQL> CREATE PUBLIC SYNONYM SYN_PUB_ILONNG_T1 FOR T1;
Synonym created.
Elapsed: 00:00:00.02
17:37:49 SQL> CREATE TABLE SYN_PUB_ILONNG_T1 ( A NUMBER);
Table created.
Elapsed: 00:00:00.03 [/B]

[PHP]
SQL> conn test/test@ora11g
已连接。
SQL> create or replace type t_type is table of varchar2(30);
2/
类型已创建。
SQL> conn yangtk/yangtk@ora11g
已连接。
SQL> create or replace public synonym t_type for test.t_type;
同义词已创建。
SQL> create table t_type (id number);
表已创建。
SQL> drop table t_type;
表已删除。
SQL> create table t_tab (id number, name t_type) nested table name store as t_tab_date;
表已创建。
SQL> create table t_type (id number);
create table t_type (id number)

*
第 1 行出现错误:
ORA-00955: 名称已由现有对象使用
.
[/PHP]
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层


斑竹强啊
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
最初由 yangtingkun 发布
[B]
[PHP]
SQL> conn test/test@ora11g
已连接。
SQL> create or replace type t_type is table of varchar2(30);
2/
类型已创建。
SQL> conn yangtk/yangtk@ora11g
已连接。
SQL> create or replace public synonym t_type for test.t_type;
同义词已创建。
SQL> create table t_type (id number);
表已创建。
SQL> drop table t_type;
表已删除。
SQL> create table t_tab (id number, name t_type) nested table name store as t_tab_date;
表已创建。
SQL> create table t_type (id number);
create table t_type (id number)

*
第 1 行出现错误:
ORA-00955: 名称已由现有对象使用
.
[/PHP] [/B]

学习


怪不得昨天实验做不出来,原来是这样子,回头再试试
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
最初由 codePeon 发布
[B]public synonym 是一个独立namespace
synonym,table 是同一个namespace
小霸王你这看的是什么文档?貌似中国人写的e文 [/B]

sql reference,oracle写的

,说不定是oracle里面的中国人写的


回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则