SQL:从另一个数据库中插入数据(如果它们尚不存在)

时间:2012-05-24 14:21:48

标签: sql database sql-server-2008 data-migration

我有两个SQL Server数据库A和B

它们都包含一个名为Users的表,其中列nameAgeSalary

我想编写一个脚本,将Users从数据库A插入数据库B(如果它们不存在,基于Name

基本上我在SQL脚本中需要这个:

Foreach (UserA in DatabaseA.Users)
    If UserA.Name does not exist in DatabaseB.Users
        Insert UserA in DatabaseB.Users

非常感谢您的帮助

1 个答案:

答案 0 :(得分:5)

单向,无需循环,你可以基于

进行设置
insert DatabaseB.Users
select name, age,salary
from DatabaseA.Users a
where not exists (select 1 from DatabaseB.Users b where b.name = a.name)

通过使用IN,OUTER JOIN,除此之外的一些示例Select all rows from one table that don't exist in another table

,还有更多方法可以做到这一点