从表中复制数据,并在不同的SQL Server数据库

问题描述:

插入我有两个数据库从表中复制数据,并在不同的SQL Server数据库

  • databaseone
  • databasetwo

,我必须在数据库中类似的表,表的名字tableemployeedetails

在我databaseone,我有表tableemployeedetails 500列。

在我databasetwo,我有表tableemployeedetails 10列。

,因为我想将数据插入到不同的数据库,我不能使用insert into select query

什么是我的情况要做到这一点的最好方法是什么?

我只是想在这两个数据库

+0

你为什么不能插入到不同的数据库? – Azar

试试这个合并tableemployeedetails

insert into databasetwo..tableemployeedetails 
    SELECT * FROM databaseone..tableemployeedetails A 
    WHERE NOT EXISTS (SELECT 1 FROM databasetwo..tableemployeedetails B 
         WHERE A.COLUMN=B.COLUMN 
        ) 

如果这两个数据库有不同的记录,那么你需要两个INSERT语句如下。如果他们有相同的,那么你需要更喜欢哪些数据库记录是最新的,然后写入更新除了下面的插入。

insert into databasetwo..tableemployeedetails 
SELECT * FROM databaseone..tableemployeedetails d1 
    left join databasetwo..tableemployeedetails d2 on A.PKKEY=B.PKKEY 
    where d2.PKKEY is null 

insert into databaseone..tableemployeedetails 
SELECT * FROM databasetwo..tableemployeedetails d2 
    left join databaseone..tableemployeedetails d1 on A.PKKEY=B.PKKEY 
    where d1.PKKEY is null