SSIS查找数据更新

时间:2016-07-28 10:40:41

标签: ssis

我创建了一个SSIS包,它从CSV文件中读取数据并加载到table1中。其他数据流任务在表1中查找.Table1具有列x,y,z,a,b。表2包含列a,b,y,z查找基于列y和z完成。基于列y和z,它从表1中获取a和b并更新表2。问题是数据得到更新,但我得到多行数据,其中一行没有更新,一行没有更新。

如果需要,我可以提供更清晰的解释。

1 个答案:

答案 0 :(得分:0)

充实尼克的建议,我将摆脱你的第二个数据流(从表2到表2)。

在第一个填充表1的Dataflow之后,只需执行一个EXECUTE SQL任务,该任务在表2上执行UPDATE,并加入表1以获取新数据。

编辑回应评论:

您需要使用一个唯一匹配行的WHERE子句。显然Model_Cd JLRMODEL_DIMS中的[Length (cm)]不是一个独特的列。如果由于两个表之间的关系而无法使WHERE子句唯一,那么您需要选择聚合MIN(),如MAX()TOP 1等,或者您需要使用{ {1}},这样你只能从子查询中获得一行。