2017-03-29 33 views
0

我正在使用批量插入语句将批处理.csv文件导入到表中的项目上工作。带有批量插入的SQL Server语句

我遇到的问题是,有些记录与当前正在查找的表中的数据重复。有没有办法通过批量插入来运行语句来检查基于特定条件的与文件行相匹配的特定行?

我相信有一种方法可以使这项工作,只是没有我想到的。

+0

我敢肯定,我们已经具备了这种情况的地方......其他的方式将只需插入并删除重复项 – maSTAShuFu

+0

有没有可用于在一批中搜索和删除重复项的查询? – William

+0

通过count()> 1来查找重复项 – maSTAShuFu

回答

0

没有,BULK INSERT声明是为原始速度优化 - 它只是会插入尽快数据 - 但它并没有允许检查或决定,而进口进行。

在这种情况下,通常的做法是将数据批量插入临时表,然后在完成之后,仅将那些不重复的行复制到实际数据表中并丢弃其他所有内容。

但是,这是一个独立的一步 - 能不能做到批量插入....

+0

感谢您的反馈。我是一个sql的初级水平。是否有一个查询可用于搜索批量数据行,并打印所有重复项,或删除基于匹配列标准的重复项? – William