如何在另一个数据库中的多个数据库中创建多个表的单个视图?

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 或视图?

如何使用单个工匠命令在 Laravel 8 中创建多个模型?

创建一个监听多个表的全局触发器

在单个闪亮的应用程序中创建多个时间线