对SSIS来说相当新鲜...... 所以这是我的问题陈述 - 我想创建一个执行以下操作的包..
1)将1000个ID(主键)的集合分成100个集合,即100 * 10 2)每次获得的100个值必须动态地输入变量'X' 3)我想在where子句
中使用这个变量示例: 我有一张桌子,学生以'ID'为主键 我还有一个带有“ID”列的表Rank_Holders 从Rank_Holders中选择*,其中(?)中的ID是我想要做的。 ?表示映射的变量 - 应该有来自学生的ID列表。
实际上我在这里有一个大型数据库,一个来自SQL Server,另一个来自Oracle,而且ID列的数量超过30000,这就是为什么我需要将它拆分成块并输入Where in子句
一步一步的包创建过程真的很有帮助请帮忙。
答案 0 :(得分:0)
欢迎Newcommer!意识到你是SSIS的新手,我必须告诉你,你的问题陈述虽然不理想是非常具有描述性的。很难用几行来描述整个问题。
我很确定你能够自己找出“一步一步”的部分。我想给你一些一般性的想法。
DECLARE @lower int = 10; DECLARE @upper int = 15;
- DECLARE @CETList varchar(3000); - 这我是putti
WITH子集AS ( SELECT ROW_NUMBER()OVER(ORID BY RecordID)AS RowNumber,RecordID 来自#A )
- SELECT @CETList = COALESCE(@CETList +',','')+ CAST(RecordID AS varchar) --FROM子集 --WHERE RowNumber BETWEEN @lower和@upper;
- SELECT @CETList; --PRINT @CETList;
SELECT *来自UserAudit,其中RecordID在(SELECT RecordID FROM subset WHERE RowNumber BETWEEN @lower AND @upper);
同样,这还不是一个完整的解决方案。请查看并查看它是否对您有所帮助。我将这个放在答案部分,因为我需要比评论部分提供更多的空间。