SQL Server 2008 - 从Staging表在主表中插入/更新

join sqlbulkcopy sql-server-2008

通过批量插入将数据导入Staging表后,我需要执行两个步骤:

  1. 转换
  2. 在主表中插入/更新

JOINS是最好的工具还是有更快/更高效的方法来执行这些任务?

一般承认的答案

我可能会这样做:

  • 在该临时表上进行转换(根据需要添加其他列等)
  • 使用SQL Server 2008 MERGE命令将INSERT / UPDATE执行到实际数据表中,该命令非常适用于此 - 更新一些现有行,插入一些新行(并可能删除一些旧的“孤立”行)。它是一个单一的命令,可以在一次调用中处理几乎所有的插入,更新,删除场景

请参阅一些有关如何使用MERGE命令的精彩文章:



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因