【发布时间】:2011-07-18 09:58:26
【问题描述】:
我有两个数据表,它们有一个共同的主键列,但其他结构不同,因为它们是从不同的表创建的。我想检查与 A 相比,数据表 B 中缺少哪些行,目的是将缺少的行添加到数据库中。
我看过像this one 这样的问题,这些问题提供了很好的答案,但通常假设数据表是相同的。
既然我想获得一个新行列表以进行插入,有没有什么方法可以在不遍历行和检查 PK 的情况下做到这一点?如果我没记错的话,Merge 会保留旧行,我不想重新提交到数据库。
两个表都只有几十行,最多几百行。无论如何,逐行进行计算所带来的影响可以忽略不计吗?
编辑:这两个源表位于不同的数据库/服务器上,所以我不能轻易做到 SQL中的比较。无论如何,我更希望消费应用程序执行此操作,因为我可能会在完成之前添加更多行处理。
【问题讨论】:
-
我只能回答并建议迭代。当一条记录的列值可能在第一个数据表中不存在时,我想不出一个函数只会将 n 行从另一个数据表添加到数据表中。
标签: c# datatable comparison