0

我有内存表(DataTable),我想在 DataTable 的帮助下一次性更新 SQL 表(批量更新)。我知道如何将数据从 DataTable 批量插入到 SQL 表中。有没有办法批量更新?

4

2 回答 2

0

您可以使用 MS Enterprise Library Data 块的UpdateDataSet()方法之一。

这些将读取每行的行状态(添加、更新、删除)并执行在 UpdateDataSet() 方法中命名的命令。使用合理的数据库服务器,这可以在几秒钟内处理几千条记录。

我发现这个唯一的缺点是它不能返回新插入的 IDENTITY 值,但它很容易在插入完成后从数据库中选择它们并将它们重新映射到数据表。

于 2013-11-12T13:02:02.100 回答
0

编辑:误读了原始问题。这是“批量更新”:

UPDATE <table> SET tbl.value = dt.value
    FROM @Datatable dt
    INNER JOIN <table> tbl ON tbl.<id_column> = dt.<id_column>
于 2013-11-12T13:07:05.990 回答