我有一个生成序列号的请求,应该按以下方式完成1.从序列跟踪器表中检索初始值1.使用该值作为序列号,并在更新时将其作为列添加到另一个并行进程中。1.作业完成后,应在跟踪器表中更新最大值,以便在下次运行时从该数字开始示例跟踪器表中的初始值:1存储的数据应为阿一B二丙三3现在将存储在跟踪器表中,因此初始值现在为3下次作业运行阿4 B 5巴6等等我是datastage的新手,所以我尝试过使用inrownum和分区公式,但我不知道如何使用。
0s0u357o1#
你可以在Db2中使用一个SEQUENCE(对象)来代替一个表--Db2中的序列用来生成唯一的数字。当然,表也是可以的。在Datastage中,对表执行查找或使用引用Db2序列的surrogate key generator stage。需要在始终为true的人工列上定义查找,以丰富数据。使用转换器修改通过添加+1,并使用update将其写入表的最后一行(如果选择了表),或者在Db2中执行alter序列来设置新值。请注意,在处理该值之前或再次写出该值之前,应该有一个+1,以避免将上一次运行的最后一个数字用作下一次运行的第一个值。
1条答案
按热度按时间0s0u357o1#
你可以在Db2中使用一个SEQUENCE(对象)来代替一个表--Db2中的序列用来生成唯一的数字。当然,表也是可以的。
在Datastage中,对表执行查找或使用引用Db2序列的surrogate key generator stage。需要在始终为true的人工列上定义查找,以丰富数据。使用转换器修改通过添加+1,并使用update将其写入表的最后一行(如果选择了表),或者在Db2中执行alter序列来设置新值。
请注意,在处理该值之前或再次写出该值之前,应该有一个+1,以避免将上一次运行的最后一个数字用作下一次运行的第一个值。