从单个数据库中的多个模式中检索数据

时间:2013-03-14 07:40:10

标签: sql database postgresql schema union-all

我在一个schemas内有多个database

说,

  • DBTEST(数据库)

    1. SCH001(schema1)

    2. SCH002(schema2)

同样,我有一个名为Tbl的表,它存在于上面给出的两个模式中 现在我使用下面的SCH001.tbl关键字从SCH002.tblunion all表中检索了数据,

select * From SCH001.tbl union all select * From SCH002.tbl

上面的查询正在处理任何问题,但我的老板要求我使用其他一些技术来实现相同的目标(使用union all / Union)。所以我想问的是, 在我的情况下,联盟所有人都可以获得相同的结果吗?如果没有,那么请说明为什么在这种情况下联盟都不能被替换的原因。?

1 个答案:

答案 0 :(得分:2)

如果你的老板认为它的丑陋全部(全部)时间使用这个联盟,为什么不对它进行观察呢? 只引用两个联合部分中的所有字段,并将其显示为组合视图 (我说这导致在视图中使用*通常很糟糕)

我不知道你是否可以索引这样的观点,但是它值得一试, 我相信你只有在做索引视图时才使用一个模式,但我不确定这一点 (但是如果可能的话,这将是比“仅仅”联盟更好的解决方案)

(该地区的新手) :编辑:你不能(在Microsoft sql中)在联合上和/或在不同的模式上制作物化视图(它们也是模式绑定的)

我个人会使用该视图,它只是一个很好的方式来为您的数据提供编程接口,您可以替换一天! :编辑:

但事实是......它仍然是引擎盖下的联盟