我正在使用ssis进行一系列复杂的数据导出,但遇到了障碍。我用记录集填充了一个包变量。我想使用foreach循环遍历记录集中的每一行。我想根据我在脚本任务中完成的一些计算更新每行中的一列。
这可能吗?我知道在c中foreach集合是不可变的,但是我不知道ssis是否以相同的方式工作。
不幸的是,我还没有找到使用for循环构造的好例子,这可能是一个潜在的解决方案。
最佳答案
将数据放入记录集中时,它存储在对象变量中。可以使用foreach循环容器-并循环对象变量。然后创建一些变量来保存行的每一列,然后您就可以一行一行地执行任何您想执行的任务,无论是数据流任务、sql语句、脚本任务(c)还是其他任何任务。
请参见http://www.sqlis.com/post/Shredding-a-Recordset.aspx了解如何执行此操作并为每行发送电子邮件的图解示例。