10 April 2010

การหา Sequence Number

@INROWNUM เป็น counter นับ record ใน partition เท่านั้น partition ใคร partition มัน ไม่ได้นับรวม

ถ้าอยากได้แบบนับรวม ไม่ให้เลขซ้ำกันเลย 

1. ใน Transformer Stage ให้ใช้
@PARTITIONNUM + (@ NUMPARTITIONS * @INROWNUM -1)
@PARTITIONNUM คือ Partition number, start at 0
@NUMPARTITIONS คือ Total number of partitions
@INROWNUM  คือ row id in the partition, start at 1

2. ใน Row Generator Stage ให้กำหนด
Type = Cycle
Initial value = part (partition number)
Increment = partcount (number of partitions)

3. ใช้ Surrogate Key Generator Stage 

No comments: