我使用BulkCopy命令将行从一个表传输到另一个表,其中包含大约300万到500万行的大量数据。我想更新这些行。
有类似于BulkUpdate命令的BulkCopy命令吗?我将ASP.NET与C#结合使用。
发布于 2012-01-14 06:24:41
不,没有。
问:什么是"lac"?
这可能有助于:
http://itknowledgeexchange.techtarget.com/itanswers/bulk-update-in-sql-server-2005/ 假设您有一个带有distict值的列来显示两个表之间的哪些行,这可以通过一个简单的update语句来完成。
UPDATE TableA
SET TableA.A1 = TableB.B1,
TableA.A2 = TableB.B2
FROM TableB
WHERE TableA.A3 = TableB.B3如果您担心创建一个庞大的事务,您可以将操作批处理成较小的块。这是通过TOP关键字完成的。
UPDATE TOP (1000) TableA
SET TableA.A1 = TableB.B1,
TableA.A2 = TableB.B2
FROM TableB
WHERE TableA.A3 = TableB.B3
AND TableA.A1 <> TableB.B1
AND TableA.A2 <> TableB.B2你可以把它放进循环..。
下面是另一个链接(基本上具有相同的解决方案):
http://www.sqlusa.com/bestpractices2005/hugeupdate/
发布于 2012-01-14 08:49:29
这里的一个共同做法是:
发布于 2016-03-11 18:15:55
免责声明:我是项目散装作业的所有者
“大容量操作库”允许在几秒钟内插入、删除、更新和合并数百万行。
如果您已经知道了SqlBulkCopy类,那么学习和使用就非常容易了。
var bulk = new BulkOperation(connection);
// ... Mappings ....
bulk.BulkUpdate(dt);https://stackoverflow.com/questions/8860544
复制相似问题