当前位置: 首页 > 知识库问答 >
问题:

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

张光辉
2023-03-14

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

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

我想编写一个脚本,将用户从数据库a插入数据库B(如果基于名称他们还不存在)

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

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

非常感谢你的帮助

共有1个答案

贺恩
2023-03-14

一种方式,不需要循环,你可以基于设置来做

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有更多的方法来实现这一点,除了这里的一些示例从一个表中选择另一个表中不存在的所有行

 类似资料:
  • 问题内容: 我需要将数据从一个数据库迁移到另一个数据库,两者都在同一本地系统上。 表和列的名称不同,我不能从旧数据库迁移所有列,因此 对我不起作用。 但我只有一个 我的查询中有什么错误,我该如何解决? 提前致谢 问题答案: 您的查询应如下所示: 更新 由于这个答案的关注程度超出了我的预期,因此我应该扩展这个答案。首先,从答案本身看可能并不明显,但各列不必具有相同的名称。因此,以下操作也将起作用(假

  • 问题内容: 我想初始化一个H2数据库,但是我不确定记录是否存在。如果它们不存在,我什么都不愿做,但是如果它们不存在,我想写默认值。 像这样的东西: 问题答案: 以下内容适用于MySQL,PostgreSQL和H2数据库:

  • 问题内容: 我有两个数据库,一个叫做,一个叫做。由于我想练习插入,更新内容,因此我想将某些表从复制到。 我要复制的表称为: 我试图做的是(使用SSMS)右键单击表格,但其中没有“复制”! 问题答案: 假设您有两个数据库,例如A和B: 如果目标表不存在,将创建以下脚本(我不建议这样): INTO COPY_TABLE_HERE FROM A.dbo.table_from_A table_A 如果目标

  • 我的pl/sql代码有问题。问题是:当我使用tns(用于远程数据库连接)尝试正常插入时,一切都正常 ORA-06512:a ligne 36 02069。00000-“此操作的全局_名称参数必须设置为TRUE”*原因:需要语句的远程映射,但无法实现,因为要实现它,全局_名称应设置为TRUE*操作:如果可能,发出alter session set global_名称=TRUE 问题是,当我将全局_名

  • 我的PHP代码中的插入数据sql命令不工作。有人能帮帮忙吗? 我有一个注册表,它从输入字段(姓名、姓氏、电子邮件、用户名和密码)中获取值 用户在此字段中输入的值应保存到我的表“users”中,该表有以下列(ID[主键/INT]、name[文本]、lastname[文本]、e-mail[变量字符]、username[变量字符]和password[变量字符])。 这是我目前的代码:

  • 问题内容: 我想创建一个存储过程,将数据从MSSQL DB表插入到我的MySQL DB表中,反之亦然。我需要做些什么? 我研究了两种解决方案。 创建一个链接服务器,使我可以使用MSSQL中的存储过程从MySQL写入和查询数据。 MySQL迁移工具包。这个选项似乎过大了,因为我只想在两者之间进行一些INSERTS和SELECTS 因此,我信任您,希望过去有人遇到过类似的问题,并且会很友好,为我提供最