c# - SQL批量插入,避免重复,无PK

标签 c# sql

我的任务是插入 1000 多行 4 列。有问题的表没有 PKFK。假设它包含列 IDCustomerNoDescription。需要插入的记录可以具有相同的 CustomerNoDescription 值。

我阅读了有关将数据导入临时表、将其与真实表进行比较、删除重复项并将新记录移动到真实表的信息。

我还可以有 1000 个查询来检查这样的记录是否已经存在,如果不存在则插入数据。但出于显而易见的原因,我太羞于尝试了。

我不期待任何具体代码,因为我没有提供任何具体细节。我所希望的是完成此类任务的一些伪代码或一般建议。我等不及要给一些赞成票了!

最佳答案

所以想法是,如果已经有具有相同 ID 的条目,您不想插入条目吗?

如果是这样,在将数据导入临时表后,您可以在 select 语句的 where 子句中完成您要查找的内容:

insert into table
    select ID, CustomerNo, Description from #data_source
    where (#data_source.ID not in (select table.ID from table))

关于c# - SQL批量插入,避免重复,无PK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32081802/

相关文章:

sql - 为什么我的 over 子句附近会出现语法错误?

c# - 如何限制每秒对网络服务器的 HttpWebRequest 数量?

c# - 无法转换 System.Runtime.Remoting.ObjectHandle

mysql - 如何连接 Oracle 中的三个表,其中一个表的外键列中有空值?

sql - 将数据从表复制到执行 INSERT 或 UPDATE 的表

mysql - WHERE IN (a,b,c...) 或 WHERE= in loop,哪个通常表现更好?

c# - 转换 d MMMM yyyy h :mm:ss + CET OR CEST in Azure Data Factory

c# - 为什么在 C# 中更改一个数组会更改另一个数组?

c# - 这对 sql 注入(inject)安全吗?

sql - 类别和子类别数据库