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) 使用以下脚本创建一个目标表。

下载上面的 emp_sequence.sql 文件

步骤 2) 将表导入 Informatica 作为目标表

步骤 3) 创建一个新映射,并导入 EMP 源表和 EMP_SEQUENCE 目标表

Sequence Transformation in Informatica

步骤 4) 在映射中创建一个新转换

  1. 选择序列转换作为类型
  2. 输入转换名称“seq_emp”
  3. 选择“创建”选项

Sequence Transformation in Informatica

步骤 5) 将创建序列生成器转换,然后选择完成选项

Sequence Transformation in Informatica

步骤 6) 将序列生成器的 NEXTVAL 列链接到目标中的 SNO 列

Sequence Transformation in Informatica

步骤 7) 将源限定符转换中的其他列链接到目标表

Sequence Transformation in Informatica

步骤 8) 双击序列生成器以打开属性窗口,然后

  1. 选择属性选项卡
  2. 输入属性:起始值 = 1,其余属性保留默认值
  3. 选择“确定”按钮

Sequence Transformation in Informatica

现在保存映射,并在创建会话和工作流后执行它。

目标中的 sno 列将包含由序列生成器转换生成的序列号。

在我们的示例中,序列将是 1-Scott,2-King,3-Adam,4-Miller 等。