oracle - 如何将 ODI 配置为自动增加行以进行 IKM 增量更新
问题描述
我对我的“维度”和 IKM 的自动增量 ID 有疑问:增量更新。
我有只有一列的源表:SUPPLIER_NAME。它有 23 行供应商名称。
我有两列的目标表:SUPPLIER_ID、SUPPLIER_NAME
接下来我想在 SUPPLIER_ID 上为每个新行创建自动增量 ID 并使用 IKM:增量更新 - 有人添加新供应商我只想要更新表(添加新行)并为此供应商添加新 ID(自动增量的下一个值)。
我怎样才能做到这一点?
我在数据库上创建序列,如:
Create sequence autoinc start with 1
increment by 1
minvalue 1
maxvalue 1000000;
在 ODI 中,我创建序列:AutoIncrementDIm --> Increment: 1, Native seuqence - native 序列名称:autoinc
接下来我创建 ODI 映射:
源表(带有一列)映射到目标表(带有 ID 和 NAME)。
将供应商名称映射到供应商名称
对于我使用的 ID:#NFS_HD.AutoIncrementDim_NEXTVAL
在逻辑部分我设置了集成类型:增量更新在我为 IKM 设置的物理部分:IKM Oracle Merge
对于我的第一次运行一切都很好。我对每个供应商都有从 1 到 23 的自动增量。
但是当我在源表中有新的供应商名称的新行并运行我的映射时,我会得到类似的东西:
新行(带有新供应商)有 47 个 ID ...我认为这是因为序列正在为每一行运行。
我必须改变什么才能纠正或这样做的更好解决方案是什么?
解决方案
推荐阅读
- apache-spark - 与单独运行相比,具有多个聚合的 pyspark 旋转数据更长/冻结
- javascript - 想要从 Vuejs 中的 AXIOS GET api 调用重定向到 URL
- sql - PySpark 数据框的每日预测
- highcharts - 千位和小数逗号 HighCharts
- github - Cloudposse CodeFresh——拉取请求管道规范——终止而不将状态设置为“失败”
- mysql - 根据条件将两个 MySql 查询组合成一个查询
- nginx - Nginx:查找特定文件夹的位置
- java - 如何将特定类中的非静态方法作为参数传递给函数
- php - Xdebug v3.0.2 与 PHP v8.0.0
- jquery - 从字符串 jquery 中获取数值