【问题标题】:How to implement update and insert in informatica如何在 informatica 中实现更新和插入
【发布时间】:2017-09-18 01:11:44
【问题描述】:

我有带列的电话表:

Client_ID、Phone_num、Phone_Extention、Phone_Type、Last_Updated_Dt、Created_Dt

我正在获取固定宽度的平面文件,我将在 sql 的暂存表中加载该文件。

我必须根据 phone_num,Phone_Extention,Last_Updated_Dt 更新 Phone 表中的记录 如果平面文件记录的 Last_Updated_Dt 大于现有的 Last_Updated_dt 并插入不存在的客户端电话类型的新记录,则为每个电话类型(基于匹配的客户端 ID)。

如何在 informatica 中实现。

【问题讨论】:

    标签: sql informatica-powercenter


    【解决方案1】:
    SRC->SQ->LKP->RTR->TGT_ins
                     \>UPD_upd->TGT_upd
    

    SRC 是平面文件,LKP 是针对您的目标(与 Client_ID 匹配),UPD_upd 应设置为 DD_UPDATE,现在对于“硬”部分,路由器及其端口:

    • 进入路由器时,来自 LKP 的所有端口都应以“LKP_”为前缀
    • 平面文件中的端口应以“SRC_”为前缀
    • 为路由器配置两个“组”并命名组:插入和更新
    • Insert 组的条件很简单:isnull(SRC_Client_ID)
    • 在您的情况下,更新组的条件是:SRC_last_Updated_dt>LKP_last_Updated_dt

    【讨论】:

    • 我将在本周实施您的解决方案,并让您知道我的结果,如有问题会发表评论。但非常感谢
    • 这里的更新条件将通过更新策略转换来使用?
    • 是 - UPD_upd 是“更新”数据流的更新策略转换。插入流不需要需要一个,所以我总是省略它,但有些人发现包含它更好......我总是使用路由器和不同的目标来进行 ins/upd/delete,而且从不'dd_reject' 作为过滤器/路由器的替代品,因为它提供了更多有用的日志数据......所有的偏好问题
    猜你喜欢
    • 2018-01-19
    • 2021-11-04
    • 1970-01-01
    • 2018-11-24
    • 2022-01-09
    • 1970-01-01
    • 2022-01-15
    • 2011-03-06
    • 1970-01-01
    相关资源
    最近更新 更多