【发布时间】:2018-11-22 15:30:22
【问题描述】:
我对我的“维度”和 IKM 的自动增量 ID 有疑问:增量更新。
我的源表只有一列:SUPPLIER_NAME。它有 23 行供应商名称。
我的目标表包含两列:SUPPLIER_ID、SUPPLIER_NAME
接下来我想在 SUPPLIER_ID 上为每个新行创建自动增量 ID 并使用 IKM:增量更新 - 有人添加新供应商我只想更新表(添加新行)并为此供应商添加新 ID(自动增量的下一个值) .
我该怎么做?
我在 DB 上创建序列,例如:
Create sequence autoinc start with 1
increment by 1
minvalue 1
maxvalue 1000000;
在 ODI 中,我创建序列: AutoIncrementDIm --> 增量:1, 原生序列 - 原生序列名称:autoinc
接下来我创建 ODI 映射:
源表(带有一列)映射到目标表(带有 ID 和 NAME)。
将供应商名称映射到供应商名称
对于我使用的 ID:#NFS_HD.AutoIncrementDim_NEXTVAL
在逻辑部分我设置了集成类型:增量更新 在物理部分我为 IKM 设置:IKM Oracle Merge
对于我的第一次跑步来说,一切正常。我对每个供应商都有从 1 到 23 的自动增量。
但是当我在源表中有新的供应商名称的新行并运行我的映射时,我会得到类似的结果:
新行(新供应商)有 47 个 ID ...我认为这是因为序列正在为每一行运行。
我必须更改哪些内容才能更正或更好的解决方案是什么?
【问题讨论】:
标签: oracle oracle-data-integrator