在项目中,利用循环拼接成了插入多行数据的SQL语句:
Insert into table(col1,col2)vaules(value11,value21);
Insert into table(col1,col2)vaules(value21,value22);
Insert into table(col1,col2)vaules(value31,value32);
Insert into table(col1,col2)vaules(value41,value42);
...
当出现重复行时(约束不可重复),08版和14版处理方式不同,08版遇见重复行,该行插入失败,但不影响其他行插入。也相当于忽略了重复行。
当对于14版,如果违背了重复约束,则一行数据都无法插入。
我猜测,14版和08版机制不一样了。14版应该是先对数据进行检查,如果没有问题则插入,如果有问题则不执行插入。
如果是大批量数据还是建议用SqlBulkCopy方式插入数据。