从表中复制数据,并在不同的SQL Server数据库
问题描述:
插入我有两个数据库从表中复制数据,并在不同的SQL Server数据库
databaseone
databasetwo
,我必须在数据库中类似的表,表的名字tableemployeedetails
。
在我databaseone
,我有表tableemployeedetails
500列。
在我databasetwo
,我有表tableemployeedetails
10列。
,因为我想将数据插入到不同的数据库,我不能使用insert into select query
。
什么是我的情况要做到这一点的最好方法是什么?
我只是想在这两个数据库
答
试试这个合并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
你为什么不能插入到不同的数据库? – Azar