oracle - merge实例二 同步代理人

Posted wlliac

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle - merge实例二 同步代理人相关的知识,希望对你有一定的参考价值。

MERGE INTO
    TBL_MEMBER TM                                   -- 网站会员注册信息表
USING
(
    SELECT
        CHA_CDE,
        CHA_NME,
        CHA_ABBR,
        DPT_CDE,
        STATUS_CHA,
        AUTH_FLAG,
        CHA_MRK,
        CHA_CLS,
        0 || SUBSTR(CHA_TYPE,0,1) CTYPE,
        C_CERTF_NO,
        C_TEL,
        C_MAIL,
        C_ZIP_CDE,
        C_ADDR,
        CERTER_TYPE,
        CREATOR,
        CREATOR_DATE,
        MODIFIER,
        CHA_ADB_TM,
        CHA_LIC_END_TM,
        SLS_CDE,
        C_LICENSE,
        QLFT_NO,
        AGENCY_DPT_CDE,
        SALES_CHANNEL_CODE
    FROM
        TBL_AGENT
    WHERE SUBSTR(DPT_CDE,0,2) IN (‘72‘,‘74‘)    
) TS
ON
(
    TM.USER_NAME = TS.CHA_CDE                   -- 渠道编码
    AND TM.DEPT_CODE = TS.DPT_CDE               -- 机构代码
)
WHEN MATCHED THEN
    UPDATE
    SET
    TM.NAME = TS.CHA_NME,                       -- 渠道名称
    TM.CERTIFICATE_TYPE = TS.CTYPE,                -- 证件类型
    TM.CERTIFICATE_NO = TS.C_CERTF_NO,            -- 证件号码
    TM.USED_FLAG = TS.STATUS_CHA,                -- 是否有效 0失效;1有效
    TM.ENABLED_FLAG = TS.AUTH_FLAG,             -- 是否激活
    TM.PASSWORD_MODIFIED_DATE = SYSDATE
WHEN NOT MATCHED THEN
    INSERT
    (
      TM.ID,
      TM.USER_NAME,
      TM.PASSWORD,
      TM.RANDOM_STR,
      TM.DEPT_CODE,
      TM.CERTIFICATE_TYPE,                      -- 证件类型
      TM.CERTIFICATE_NO,                        -- 证件号码
      TM.MOBILE_PHONE,
      TM.ENABLED_FLAG,
      TM.PASSWORD_MODIFIED_DATE,
      TM.USED_FLAG,                           -- 是否可用 0-无效 1-有效
      TM.MEMBER_TYPE,                         -- 内部用户类别 0:业务员
      TM.ROLE_TYPE_CODE,                      -- 角色类型 2:内部用户
      TM.MEMBER_FLAG                          -- 用户标识 99:诉责险
    )
    VALUES
    (
      SEQ_TBL_MEMBER_ID.NEXTVAL,
      TS.CHA_NME,                           -- 渠道名称
      ‘56a5aa0561ddd3b88b924315043cf6fb‘,   -- 初始密码
      ‘6Umt‘,                               -- 盐码
      TS.DPT_CDE,                           -- 机构代码
      TS.CTYPE,                             -- 证件类型
      TS.C_CERTF_NO,                        -- 证件号码
      TS.C_TEL,
      TS.AUTH_FLAG,
      SYSDATE,
      TS.STATUS_CHA,
      ‘0‘,
      ‘2‘,
      ‘99‘
    );    
   




















































































以上是关于oracle - merge实例二 同步代理人的主要内容,如果未能解决你的问题,请参考以下文章

oracle - merge实例

两台服务器不同oracle数据库使用dblink+merge实现数据同步

Oracle SQL中的Merge用法

oracle 中asm用法

merge和update的区别

SQOOP增量抽取时,在HIVE中实现类似Oracle的merge操作