Oracle 设置数据组的序列号

Oracle 设置数据组的序列号,oracle,ssis,Oracle,Ssis,我想模拟SSIS中一组记录的序列号。挑战是对每个POLNO、RNWNO、ENDNO、RISKNO组合运行序列号,从1开始,递增1。我知道如何创建连续序列,但我不知道如何将其依赖于ssis中的这些参数。我的来源是Oracle,我正在通过SSI将数据移动到另一个Oracle数据库。请帮帮我 明智的 范例 Oracle的解决方案是使用行数分析功能: SELECT t.*, ROW_NUMBER() OVER ( PARTITION BY POLNO,RNWNO,ENDN

我想模拟SSIS中一组记录的序列号。挑战是对每个POLNO、RNWNO、ENDNO、RISKNO组合运行序列号,从1开始,递增1。我知道如何创建连续序列,但我不知道如何将其依赖于ssis中的这些参数。我的来源是Oracle,我正在通过SSI将数据移动到另一个Oracle数据库。请帮帮我

明智的 范例


Oracle的解决方案是使用
行数
分析功能:

SELECT t.*,
       ROW_NUMBER() OVER (
         PARTITION BY POLNO,RNWNO,ENDNO,RISKNO ORDER BY IDNumber
       ) AS SeqNo
FROM   your_table t;

如何创建连续序列?如果您考虑使用分析函数
row_number()
来实现这一点,那么很容易将其修改为跨不同的组运行(提示,“分区”)…@Boneist:这是个好主意,但我想将其作为第二个选项“第二个选项”是什么意思?@Boneist:PlanBTq表示您的技巧,但我可以知道您有使用SSIS组件的解决方案吗?创建上述查询作为视图,然后在SSIS中使用它?
SELECT t.*,
       ROW_NUMBER() OVER (
         PARTITION BY POLNO,RNWNO,ENDNO,RISKNO ORDER BY IDNumber
       ) AS SeqNo
FROM   your_table t;