序列生成器转换2024 年 8 月 29 日 | 4 分钟阅读 序列生成器是一个被动和连接的转换,它生成数字序列值,如 1、2、3 等。它不影响输入行的数量。 序列生成器转换用于创建唯一的主键值并替换缺失的主键。 例如,如果我们想将序列值分配给源记录,那么我们需要使用序列生成器。 序列生成器转换包含两个输出端口。我们无法编辑或删除这些端口,例如
NEXTVALNEXTVAL 端口用于通过将其连接到转换或目标来生成序列号。 生成的序列号基于 Current Value 和 Increment By 属性。 如果序列生成器未配置为循环,则 NEXTVAL 端口会生成序列号,直到达到设置的结束值。 我们可以将 NEXTVAL 端口连接到多个转换,以便为每一行生成唯一值。 序列生成器转换同时创建一个数字块。 如果使用了数字块,那么它会生成下一个序列号块。 例如,我们可能会将 NEXTVAL 连接到映射中的两个目标表,以创建唯一的主键值。 集成服务为第一个目标生成 1 到 10 的数字块。 当第一个数字块被加载后,才会为第二个目标生成另一个 11 到 20 的数字块。 CURRVALCURRVAL 端口是 NEXTVAL 加上 Increment By 值。 仅当 NEXTVAL 端口已链接到下游转换时,我们才连接 CURRVAL 端口。 如果我们在没有连接 NEXTVAL 端口的情况下组合 CURRVAL 端口,则集成服务会为每一行传递一个常量值。 当我们在序列生成器转换中组合 CURRVAL 端口时,集成服务处理每个块中的一行。 我们可以通过仅连接映射中的 NEXTVAL 端口来优化性能。 示例:假设 STUD 将是一个源表。 在共享文件夹中创建一个目标 STUD_SEQ_GEN_EXAMPLE。 结构与 STUD 相同。 向目标表添加两个额外的端口 NEXT_VALUE 和 CURR_VALUE。 我们可以创建一个序列生成器转换以在单个映射中使用,或者创建一个可重用的序列生成器转换以在多个映射中使用。 可重用的序列生成器转换可以维护每个使用序列生成器转换实例的映射中的序列完整性。 序列生成器转换的属性以下是配置序列数据对象和新序列的以下属性
示例在下面的示例中,我们将生成序列号并按以下步骤将其存储在目标中,例如 步骤 1:创建一个目标表。 步骤 2:将创建的表作为目标表导入到 Informatica 中。 步骤 3:创建一个新映射并导入 STUD 源和 STUD_SEQUENCE 目标表。 步骤 4:在映射中创建一个新的转换,
步骤 5:将创建序列生成器转换,然后单击完成按钮。 步骤 6:将序列生成器的 NEXTVAL 列链接到目标表中的 SNO 列。 步骤 7:将源限定符转换中的其他列链接到目标表。 步骤 8:双击序列生成器以打开属性窗口,然后
现在保存映射并在创建会话和工作流后执行它。 目标中的 SNO 列将包含由序列生成器转换生成的序列号。 下一个主题事务控制转换 |
我们请求您订阅我们的新闻通讯以获取最新更新。