在一次数据库调用中更新多条记录

时间:2014-12-04 08:34:12

标签: c# sql sql-server-2008 tsql

我在表格中有大约10,000条记录。我在代码存储器中获取所有记录并进行一些处理并确定处理是否成功。因此,对于每个记录,我需要将类型BIT的列更新为0或1。

处理完每个项目后,我真的不想每次都访问数据库,而是一次性传递所有记录的位值进行更新。

有没有办法这样做或任何其他足够有效的方法。

1 个答案:

答案 0 :(得分:1)

尝试使用SqlBulkCopy类。

您可以使用它来处理有效地将大量行插入数据库中的表(例如,为此目的的临时表)。出于您的目的,听起来该表应该只有您用于识别每一行的任何键以及位值。

然后,您可以执行UPDATE命令将该表与原始数据合并。

这样,您可以在一次操作中将所有数据传递到服务器(或者至少进行少量操作......即使使用SqlBulkCopy,您可能会发现将大量更新分成批次也是有利的,然后让SQL Server完成将位值复制回原始表的工作。