我有一组通过 C# 中的 SqBulkCopy 导入 SQL Server 的文本文件。有些记录出现在多条记录中,我想跳过这些记录,而不是抛出错误并停止。
对于有明确的“uniqueID”/主键的情况,一切都很好——我使用了“WITH (IGNORE_DUP_KEY = ON)”,效果很好。
但是,在这种情况下,无法确定这样的 uniqueID,除非将所有字段连接在一起,或者创建一个涉及所有字段的复合键。我试图获得一个唯一的 transactionID 或类似的,但没有一个可用。有时记录相同,但字段中的一位数字已更改;在这种情况下,我希望它插入表中。
我认为可能有比针对所有字段创建密钥更好的方法?如果我这样做了,这意味着日期、字符串、值等都必须混合在一起才能形成密钥。
查询行并散列值以与我的输入行的散列进行比较是另一种想法,但我敢肯定性能会很糟糕:)
有人对如何最好地做到这一点有建议吗?
谢谢