SSIS foreach循环与计数
问题描述:
我期待在SSIS创建一个foreach循环:SSIS foreach循环与计数
从本质上讲,我有一组ID号的数据必须是唯一的。当我分配ID时,我有一个检查,以确保这些ID不存在于成员表中。我正在使用每个有匹配记录的计数(*)来确定这一点。如果计数> 0,则删除初始表中的记录并重新插入以为其分配新的ID。
我想要做的是建立一个循环来继续这个过程,直到初始计数为0(如果再添加记录为它指定一个ID,它是也现有成员表。
我相信foreach循环可变枚举是去这里的路,但我不太清楚如何使用计数此设置。
答
你描述听起来更像是一个SSIS For循环容器,不for For Each循环For循环可以测试评估表达式来决定是否运行循环的另一次迭代(例如,@count != 0
)。
这里的For循环容器上的DOCO:
https://msdn.microsoft.com/en-us/library/ms139956.aspx
For循环还提供了初始化和迭代的表达,但它听起来像是你将不需要这些。 count变量的定义条目可以将其初始化为非0值。
在SQL中循环并不是真正有效的。如果你想分配下一个ID,为什么不选择MAX(ID)+ 1,并使用类似的东西。 SQL会做超级快! – Chuck
我在使用600000-900000的“银行”号码,我们被告知我们会使用这些号码。当然,有些情况下这些数字已经存在。所以我不知道MAX + 1会工作......但是,感谢您的意见,我一定会给它一个机会! – slevin37
我认为你可以用SSIS中的存储过程而不是循环来做到这一点,但是你的问题并不完全清楚你现在拥有什么,以及你需要做什么。 “我有一套数据”可能意味着很多事情。 –