SQL Server 08版与14版处理重复行的方式

在项目中,利用循环拼接成了插入多行数据的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方式插入数据。

posted @ 2018-10-23 10:31  yiyecao  阅读(176)  评论(0编辑  收藏  举报