SSIS-使用顶部处理批次

时间:2018-11-21 16:11:24

标签: loops ssis

我正在对数百万行数据进行模糊映射(来自表A)。我一次花费10000,处理它们并将映射的行存储在另一个表中。 (表B)

然后,当我选择下一个批次时,请确保不选择表B中现在存在的表A中的ID进行处理。

这很好。

现在如何在不每次迭代后都停止启动的情况下循环进行该过程?

谢谢

1 个答案:

答案 0 :(得分:0)

  1. 创建这些变量(SourceMaxID和DestMaxID),如下所示:

Variables

  1. 在您的控制流中; 添加执行SQL任务:在SQL语句中,使用下面的脚本获取最大ID。 从表A中将其分配给变量SourceMaxID。

    从[表A]中选择ISNULL(MAX(IDColumn),0)

    将结果集配置为单行并添加变量。

  2. 将For循环容器添加到您的控制流中。

    将为模糊映射创建的数据流任务拖到For循环中 容器如下所示。

  3. 将执行SQL任务添加到For循环容器中,如下所示。

    类似于过程1,从表B中获取MaxID并分配给变量DestMaxID

    从[表B]中选择ISNULL(MAX(IDColumn),0)

Control flow

  1. 按如下所示配置For循环容器:

For loop container