【发布时间】:2015-01-19 17:24:53
【问题描述】:
我有一个数据流任务,它在具有三个分支的两列(id、SystemModstamp)上进行查找:
- 未找到匹配项 - 插入。只是这样就可以正常工作。
...如果找到匹配项,我刚刚添加了一个条件拆分来测试变量 overwrite_matches...
- 如果 overwrite_matches='Y',删除匹配的行(TF Delete Batch 在下图中),然后插入。
- 如果 overwrite_matches='N',获取名为“无操作”的行数并执行 什么都没有。
问题:我怎样才能去掉下图中的蓝绿色箭头,在#2 TF 之间设置一个优先约束(我知道,它们在数据流任务中不存在)删除批量转换和派生列,以便派生列在两者都完成之前不执行?
想到的只是联合全部/合并/合并加入,但我不希望 #2 TF 删除中的流影响下游 INSERT,因为它已经在 #1 流中。
【问题讨论】:
-
您可以执行合并联接,这将强制派生列等待,然后在最终下游 INSERT 中不使用任何已联接列,因此不会产生任何影响。
-
不错的主意,现在进行测试,但这意味着我必须对两列进行排序。
-
“TF Delete Batch Transform”组件是否支持输出流?
-
没有。我刚刚用荷马辛普森的“Doh!”想出来了。片刻。由于条件拆分,两个流中有不同的行(匹配与不匹配),因此它们是否并发执行没有影响。将 TF 删除更改为 TF 插入,一切顺利。
标签: ssis