首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有与Server 2008中的BulkUpdate命令类似的BulkCopy命令

是否有与Server 2008中的BulkUpdate命令类似的BulkCopy命令
EN

Stack Overflow用户
提问于 2012-01-14 06:15:15
回答 3查看 1.5K关注 0票数 2

我使用BulkCopy命令将行从一个表传输到另一个表,其中包含大约300万到500万行的大量数据。我想更新这些行。

有类似于BulkUpdate命令的BulkCopy命令吗?我将ASP.NET与C#结合使用。

EN

回答 3

Stack Overflow用户

发布于 2012-01-14 06:24:41

不,没有。

问:什么是"lac"?

这可能有助于:

http://itknowledgeexchange.techtarget.com/itanswers/bulk-update-in-sql-server-2005/ 假设您有一个带有distict值的列来显示两个表之间的哪些行,这可以通过一个简单的update语句来完成。

代码语言:javascript
复制
UPDATE TableA
SET TableA.A1 = TableB.B1,
    TableA.A2 = TableB.B2  
FROM TableB  
WHERE TableA.A3 = TableB.B3

如果您担心创建一个庞大的事务,您可以将操作批处理成较小的块。这是通过TOP关键字完成的。

代码语言:javascript
复制
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/

票数 4
EN

Stack Overflow用户

发布于 2012-01-14 08:49:29

这里的一个共同做法是:

  • 大容量加载(SqlBulkCopy)到一个空的*暂存表中--意思是:将正确的列/类型作为实际数据的表,而不是主事务系统的一部分。
  • 现在执行将真实数据连接到暂存数据的更新,以更新真实数据中的值。
票数 2
EN

Stack Overflow用户

发布于 2016-03-11 18:15:55

免责声明:我是项目散装作业的所有者

“大容量操作库”允许在几秒钟内插入、删除、更新和合并数百万行。

如果您已经知道了SqlBulkCopy类,那么学习和使用就非常容易了。

代码语言:javascript
复制
var bulk = new BulkOperation(connection);
// ... Mappings ....

bulk.BulkUpdate(dt);
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8860544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档