比较两个数据库表行并插入

时间:2011-09-10 07:23:20

标签: sql-server-2005

我正在开发一个项目,我的需求只是将数据库从本地服务器更新到目标服务器(所有表,视图,函数,行和存储过程)。

现在我想将本地数据库表与目标数据库表进行比较,并将新插入的行从本地数据库插入目标表。

E.g。 :我有一个数据库dbsourcedbDestination,并且都包含一个表table1。现在我将新行插入dbsource.table1

现在我想比较两个数据库表并将新行插入目标表。

请帮帮我。

2 个答案:

答案 0 :(得分:1)

为什么重新发明轮子?有许多商业应用已经为您做到了这一点:

答案 1 :(得分:0)

假设两个Table1表都有一个主键(唯一)列,您可以在这里实现它。我将PK列ID命名为:

INSERT INTO DBDESTINATION.<SCHEMA_NAME>.TABLE1 
(SELECT T1.* FROM DBSOURCE.<SCHEMA_NAME>.TABLE1 AS T1
   LEFT OUTER JOIN DBDESTINATION.<SCHEMA_NAME>.TABLE1 AS T2 ON T1.ID=T2.ID
   WHERE T2.ID IS NULL)

希望有所帮助。