在SSIS中使用Foreach循环查看是否满足条件然后移至下一个容器

问题描述 投票:0回答:1

尝试使用这样的查询:

Select * from MyTable
where CompletedDate >= [@PackageStartTime]

我在 SQL 任务中的查询:

Select * from MyTable
where CompletedDate >= ?

需要循环查询是否满足条件,如果满足,则转到下一个任务,如果不满足,则继续循环,直到满足条件。

尝试在 SQL 任务中使用此查询,变量名称为 [@StartTime],结果集结果名称 = 0,变量名称 = User:Query 来放入结果。User:Query 设置为对象。

在下面的 Foreach 循环容器中,是集合“Foreach ADO Enumerator”和 ADO 对象源变量:用户:查询和枚举模式:第一个表中的行。

我想我已经完成了第一部分的工作,但是此时我应该在 Foreach 循环容器中放入什么?我需要一个变量来表示条件为 TRUE 才能继续下一个任务。

sql ssis
1个回答
0
投票

我会使用 sql 任务来给我一个要使用的约束。像下面这样...

SELECT COUNT(*) FROM MyTable WHERE CompletedDate >= @PackageStartTime

然后将结果集保存到 var 并为下一个任务设置约束。像这样的东西

@[User::RowCount] > 0
© www.soinside.com 2019 - 2024. All rights reserved.