Informatica中的序列转换(附示例)
什么是序列生成器转换?
序列生成器转换是无状态的,因此它不会影响输入行的数量。序列生成器用于生成主键值,并用于生成数字序列值,例如1、2、3、4、5等。
例如,您想为源记录分配序列值,则可以使用序列生成器。生成的序列值可以是5、10、15、20、25等,或者10、20、30、40、50等,具体取决于转换的配置属性。
序列生成器有两个输出端口
- CURRVAL
- NEXTVAL
CURRVAL 端口值始终是 NEXTVAL+1。
为了生成序列号,我们始终使用 NEXTVAL 列。
序列生成器转换的属性
- 起始值 - 这是转换生成的第一个值,默认值为 0。
- 增量 - 这是您希望递增值的数量。默认值为 1。
- 结束值 - 这是转换应生成的最大值。
- 循环 - 如果设置了此选项,则在达到值末尾后,转换将从起始值重新开始。
在此示例中,我们将生成序列号并将其存储在目标中。
步骤 1) 使用以下脚本创建一个目标表。
步骤 2) 将表导入 Informatica 作为目标表
步骤 3) 创建一个新映射,并导入 EMP 源表和 EMP_SEQUENCE 目标表
步骤 4) 在映射中创建一个新转换
- 选择序列转换作为类型
- 输入转换名称“seq_emp”
- 选择“创建”选项
步骤 5) 将创建序列生成器转换,然后选择完成选项
步骤 6) 将序列生成器的 NEXTVAL 列链接到目标中的 SNO 列
步骤 7) 将源限定符转换中的其他列链接到目标表
步骤 8) 双击序列生成器以打开属性窗口,然后
- 选择属性选项卡
- 输入属性:起始值 = 1,其余属性保留默认值
- 选择“确定”按钮
现在保存映射,并在创建会话和工作流后执行它。
目标中的 sno 列将包含由序列生成器转换生成的序列号。
在我们的示例中,序列将是 1-Scott,2-King,3-Adam,4-Miller 等。