我是想把多个Excel文件的数据导入到SQLSERVER中,这一系列Excel文件中可能会有两条或多条完全相同的记录。
例如成功导入1.xls后,在导入2.xls时遇到主key冲突,则此次导入完全失败。请问有没有仅仅放弃那条冲突数据,而成功导入同个文件中其他数据的方法,即避开2.xls中冲突数据条,完成导入过程的方法?谢谢!

解决方案 »

  1.   


    我是想把这一系列的EXCEL文件导入到一个表中,在导入的过程中就过滤掉重复数据,本想利用主KEY的特性,结果行不通,不知道是否会有其他方便的办法。如果全部导入之后处理,我想用SQL语句应该很容易去除多余的数据
      

  2.   

    写个insert instead of 触发器,插入记录时被触发,检查是否有主键存在,不存在则插入,否则忽略。
    但是这会有点慢。还是觉得1楼老乌龟的办法不错,一次性读入之后再做进一步处理会快很多。
      

  3.   

    1.在sql中创建与excel中相同字段的表,如:create table test(a varchar(20),b varchar(20))
    2.用语句create unique index idxA on test(a) with ignore_dup_key 为表test的a创建唯一索引并用可控项关键字 ignore_dup_key 来过滤a中有重复的值
    3.用语句导入