好运用的foreach循环容器的变量,我有一个简单的过程...在SQL任务[SSIS]
读表,并获得该行有 一1“StatusID”简单。
从PreorderStatus选择的ProductID其中StatusID = 1个
FOREACH行从 查询返回,执行动作。对于 简单起见,我们只需要修改 原始表到 “StatusID”设置为2
更新PreorderStatus设置StatusID = 2,其中的ProductID = @ProductID
为了在做到这一点SSIS,我用第一条语句创建了一个简单的“执行SQL任务”。在编辑器中,我已经设置了结果集返回一个完整结果集和结果名称为0被设置为填充名为ReadySet的对象变量。
输出然后路由到For Each Loop容器。 枚举器设置为Foreach ADO枚举器和从上面设置为ReadySet变量的对象源变量。我还将变量v_ProductID映射到索引0.
在Foreach循环开始时设置断点显示正确设置的变量。大!!现在到第二步....
现在我已经在foreach容器中放置了一个新的SQL任务。现在我有一个头刮刀。我如何在SQL语句中实际使用变量?简单地使用“v___ProductID”或“User :: v_ProductID”似乎不起作用。映射一个参数似乎是一个好主意(得到@ProductID和一切!),但似乎也没有工作。
我觉得我错过了一些非常简单的东西,但不知道是什么。谢谢你的帮助!!
诀窍是 '?'。显然,我忘记了我在SRS上的所有工作,并依靠我的存储过程完成所有使用命名参数的工作。去搞清楚。还值得一提的是,当映射的时候?到一个可变的你使用基于零的序数位置(0,1等)。 – Craig 2009-12-10 15:29:36