首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle同义词选择

Oracle同义词选择
EN

Stack Overflow用户
提问于 2008-11-07 12:44:06
回答 3查看 2.6K关注 0票数 1

我遇到了这样一种情况,在模式中我有一个表,比如说表ACTION,而我也得到了一个同义词,叫做ACTION,它引用另一个表到另一个模式。

现在,当我运行查询时

select * from操作

它将从表中选择表中的记录,但不会选择同义词。

不管怎样,我要从同义词和表中一起选择吗?

谢谢

EN

回答 3

Stack Overflow用户

发布于 2008-11-07 13:26:48

我不认为您的操作同义词与您的操作表位于相同的模式中,因为这在Oracle中是不允许的。您的操作同义词很可能驻留在其他模式中,也许它是一个公共同义词。如果是这种情况,您可以使用

代码语言:javascript
复制
select * from ACTION
union 
select * from public.ACTION
票数 5
EN

Stack Overflow用户

发布于 2008-11-07 13:01:28

那么,您的底层操作表应该重命名,比方说do LOCAL_ACTION。

让我们假设您的操作同义词在otheruser.LOCAL_ACTION表上...

然后,您可以将操作同义词重新定义为:

代码语言:javascript
复制
SELECT * from LOCAL_ACTION
UNION
SELECT * from otheruser.LOCAL_ACTION

最后,select * from操作将为您提供两个表的组合列表。

票数 4
EN

Stack Overflow用户

发布于 2008-11-10 13:44:31

表和私有同义词确实共享相同的名称空间,因此这是一个公共同义词:http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements008.htm#sthref723

请注意,UNION是结果集上的隐式distinct。你需要的是联合行动。

代码语言:javascript
复制
select * from ACTION
union all
select * from public.ACTION
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/271953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档