好的,我有一个简单的过程...
读取表格并获取行 “StatusID”为1.简单。
从PreorderStatus中选择ProductID = 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和所有东西!),但这似乎也没有用。
我觉得我错过了一些非常简单但却无法分辨的东西。谢谢你的帮助!!
答案 0 :(得分:1)
我认为有更好的方法。以下是大致的步骤:
HTH
答案 1 :(得分:0)
当我想使用执行sql任务并根据变量改变某些东西时,我使用存储过程并使变量成为proc的输入参数。
然后在执行SQL任务中设置parmeter,并将SQL语句设置为:
exec myproc ?