我在一个schemas
内有多个database
。
说,
DBTEST(数据库)
SCH001(schema1)
SCH002(schema2)
同样,我有一个名为Tbl
的表,它存在于上面给出的两个模式中
现在我使用下面的SCH001.tbl
关键字从SCH002.tbl
和union all
表中检索了数据,
select * From SCH001.tbl union all select * From SCH002.tbl
上面的查询正在处理任何问题,但我的老板要求我使用其他一些技术来实现相同的目标(使用union all / Union)。所以我想问的是, 在我的情况下,联盟所有人都可以获得相同的结果吗?如果没有,那么请说明为什么在这种情况下联盟都不能被替换的原因。?
答案 0 :(得分:2)
如果你的老板认为它的丑陋全部(全部)时间使用这个联盟,为什么不对它进行观察呢? 只引用两个联合部分中的所有字段,并将其显示为组合视图 (我说这导致在视图中使用*通常很糟糕)
我不知道你是否可以索引这样的观点,但是它值得一试,
我相信你只有在做索引视图时才使用一个模式,但我不确定这一点
(但是如果可能的话,这将是比“仅仅”联盟更好的解决方案)
(该地区的新手)
:编辑:你不能(在Microsoft sql中)在联合上和/或在不同的模式上制作物化视图(它们也是模式绑定的)
我个人会使用该视图,它只是一个很好的方式来为您的数据提供编程接口,您可以替换一天! :编辑:
但事实是......它仍然是引擎盖下的联盟