4

I have two databases; 1 is a live database for daily data input and the other is an archival DB for older data.

How can I create a view which gets data from both databases?

Three tables are involve... database1.dbo.table and database1.dbo.tran1 in same database, and 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
  • Is my view able to create based on written above? Commented Jul 30, 2013 at 16:04

1 Answer 1

7

Not sure if you need a UNION or a JOIN, but in either case you can just use a three-part name for the object in the other database:

USE database1;
GO
CREATE VIEW dbo.MyView
AS
    SELECT columns FROM dbo.LocalTable
    UNION ALL
    SELECT columns FROM database2.dbo.RemoteTable;
GO
Sign up to request clarification or add additional context in comments.

2 Comments

is it possible to do this across MySQL hosts? And how could I like those two database servers in the view?
I have the almost the same scenario but different user on the same host. how is that doable? Google tells me to merge all the db in one, but it's not viable in my situation.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.