如果数据存在,如何忽略插入选择连接中的数据

本文关键字:数据 选择 连接 插入 何忽略 存在 如果 | 更新日期: 2023-09-27 18:33:22

我正在用 C# 处理我的代码,我有这个查询。

Insert into emp_names(emp_ln, emp_fn, emp_mi, emp_id)
  select ow.own_ln, ow.own_fn, ow.own_mi, emp_sequence.nextval
  from own_names ow 
    join businesses bn on bn.own_code = ow.own_code 
    join business_que bnque on bnque.own_code = ow.own_code
  where bn.mms = '33334' or bnque.bin = '33334';

该查询用于插入一个表中的数据own_namesemp_names 其中我连接了两个表列,该表列的值来自表 own_names own_code。该查询适用于我的代码,但我的问题是当我尝试再次运行查询时,它会重新创建具有不同 id 的行,因为它是自动递增的。我想要的是忽略emp_names表上退出的数据

如果数据存在,如何忽略插入选择连接中的数据

使用merge into而不是插入。除了emp_id之外,您的表还应该具有"真正的"业务主键。在合并on条件下使用这个。