SQL:如果数据尚不存在,则从另一个数据库插入数据

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

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

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

我想编写一个脚本,将数据库 A 中的 Users 插入到数据库 B(如果根据 Name 它们尚不存在)

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

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

非常感谢您的帮助

最佳答案

一种方法,不需要循环,你可以基于集合来做

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、EXCEPT 来做到这一点,这里有一些例子 Select all rows from one table that don't exist in another table

关于SQL:如果数据尚不存在,则从另一个数据库插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10739372/

相关文章:

php - 在 php 中选择的多个复选框的数据未存储在数据库中

javascript - (MongoDB)问答网站的数据库结构

sql-server - 如何获取姓名以字母A和B开头的员工数量

python - 如何删除表中除前 5 条记录之外的所有记录

java - 如何向表中插入\计时值?

sql - 如何找到当前的交易水平?

mysql - meta_value 字段上的内连接

php - MySQL 查询无法检索数据...或类似的东西

sql-server-2008 - Temporary Tables中如何选择临时表

asp.net - 已成功与服务器建立连接,但在登录前发生错误