如何在另一个数据库中的多个数据库中创建多个表的单个视图?
Posted
技术标签:
【中文标题】如何在另一个数据库中的多个数据库中创建多个表的单个视图?【英文标题】:How to create single view of multiple tables in multiple databases in another database? 【发布时间】:2014-01-20 13:18:40 【问题描述】:如何在另一个数据库中创建多个数据库中多个表的单一视图?
我在具有相同列结构的多个数据库中有多个表。我想为另一个数据库中的所有这些表创建单一视图?
有可能吗?如果有可能怎么办?
谢谢
【问题讨论】:
【参考方案1】:如果数据库位于不同的服务器上,答案是否定的。如果他们在同一台服务器上,是的,以下是这样做的模板:
CREATE VIEW [view name] AS
SELECT [columns]
FROM [db1].[table1] t1
JOIN [db2].[table2] t2 ON [join condition]
关键是为查询中的每个表显式定义数据库。
【讨论】:
肯定是CREATE VIEW
,但可能是 UNION ALL
超过 JOIN
。
@MarcusAdams 你是对的:根据查询的具体情况,UNION ALL 可能比 JOIN 更可取,这一点都不清楚。以上是关于如何在另一个数据库中的多个数据库中创建多个表的单个视图?的主要内容,如果未能解决你的问题,请参考以下文章
如何在另一个数据库中创建引用调用者中正确 sys.objects 表的 UDF 或视图?