跨多个数据库创建视图

时间:2013-07-30 15:32:55

标签: sql-server view

我有两个数据库; 1是日常数据输入的实时数据库,另一个是旧数据的归档数据库。

如何创建从两个数据库获取数据的视图?

三个表格涉及... database1.dbo.tabledatabase1.dbo.tran1在同一个数据库中,database_archived.dbo.table1

Create VIEW [dbo].[VW_Table_ALL] 
AS 
  SELECT * FROM database1.dbo.table1 
  UNION ALL 
  SELECT * FROM database_archived.dbo.table1 as Data INNER JOIN 
                database1.dbo.tran1 as Tran ON Data.Tran_id = Tran.Tran_Id 

GO

1 个答案:

答案 0 :(得分:7)

不确定是否需要UNION或JOIN,但在任何一种情况下,您都可以在另一个数据库中使用三部分名称作为对象:

USE database1;
GO
CREATE VIEW dbo.MyView
AS
    SELECT columns FROM dbo.LocalTable
    UNION ALL
    SELECT columns FROM database2.dbo.RemoteTable;
GO