Informatica 中的序列转换与示例
什么是序列 Generator 转型?
序列生成器转换是被动的,因此它不会影响输入行的数量。序列生成器用于生成主键值,也用于生成数字序列值,如 1、2、3、4、5 等。
例如,您想要为源记录分配序列值,那么您可以使用序列生成器。生成的序列值可以是 5、10、15、20、25 等,也可以是 10、20、30、40、50 等,具体取决于转换的配置属性。
序列发生器有两个输出端口
- 电流
- 下一个值
CURRVAL 端口值始终为 NEXTVAL+1。
为了生成序列号,我们总是使用 NEXTVAL 列。
序列的性质 Generator 转型
- 起始值 – 这是转换生成的第一个值,默认值为 0。
- 增量 – 这是您要增加值的数字。默认值为 1。
- 最终值——这是转换应生成的最大值。
- 循环——如果设置了此选项,则在到达值的末尾后,转换将从起始值重新开始。
在这个例子中,我们将生成序列号并存储在目标中。
步骤1) 使用以下脚本创建目标表。
步骤2) 将 Informatica 中的表导入为目标表
步骤3) 创建新的映射并导入 EMP 源和 EMP_SEQUENCE 目标表
步骤4) 在映射中创建新的转换
- 选择序列变换作为类型
- 输入转换名称“seq_emp”
- 选择创建选项
步骤5) 将创建序列生成器转换,选择完成选项
步骤6) 将序列生成器的 NEXTVAL 列链接到目标中的 SNO 列
步骤7) 将源限定符转换中的其他列链接到目标表
步骤8) Double 点击序列生成器打开属性窗口,然后
- 选择属性选项卡
- 输入起始值 =1 的属性,其余属性保留默认设置
- 选择“确定”按钮
现在保存 制图 并在创建会话和工作流后执行它。
目标中的 sno 列将包含由序列生成器转换生成的序列号。
在我们的例子中,序列将是 1 – 斯科特、2 – 金、3 – 亚当、4 – 米勒等。