码迷,mamicode.com
首页 > 数据库 > 详细

oracle - merge实例

时间:2018-10-12 23:50:20      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:merge   val   next   The   oracle   into   code   类型   ddd   

MERGE INTO
  TBL_MEMBER TM                                   -- 网站会员注册信息表
USING
  (
    SELECT
      SLS_CDE,                                              -- 业务员代码对应员工代码
      DPT_CDE,                                              -- 机构代码
      SLS_NME     AS NAME,                             -- 业务员名称
      SALEGRP_CDE   AS SALEGRPCODE,               -- 营销团队代码
      0 || SUBSTR(CTFCT_TYP,-1,2)    AS CTYPE,    -- 证件类型
      CTFCT_NO    AS CNO,                             -- 证件号码
      C_TEL,                                             -- 电话
      SLS_TYP,                                          -- 人员分类 合同、个人代理(系统员工) 其他、在职(代理人)
      BGN_TM,                                            -- 起始日期
      END_TM,                                            -- 终止日期
      C_DEL                                               -- 逻辑删除标志 0-无效 1-有效
    FROM
      TBL_CS_SALES                                    -- 业务员信息表
  ) TS
ON (
    TM.USER_NAME = TS.SLS_CDE                     -- 业务员代码对应员工代码
    AND TM.DEPT_CODE = TS.DPT_CDE               -- 机构代码
  )
WHEN MATCHED THEN
    UPDATE
    SET
      TM.NAME = TS.NAME,                              -- 业务员名称
      TM.CERTIFICATE_TYPE = TS.CTYPE,       -- 证件类型
      TM.CERTIFICATE_NO = TS.CNO,                -- 证件号码
      TM.USED_FLAG = TS.C_DEL,
      TM.PASSWORD_MODIFIED_DATE = SYSDATE
WHEN NOT MATCHED THEN
    INSERT
    (
      TM.ID,
      TM.USER_NAME,
      TM.PASSWORD,
      TM.RANDOM_STR,
      TM.DEPT_CODE,
      TM.NAME,                                    -- 业务员名称
      TM.CERTIFICATE_TYPE,                      -- 证件类型
      TM.CERTIFICATE_NO,                        -- 证件号码
      TM.MOBILE_PHONE,
      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.SLS_CDE,                                 -- 业务员代码对应员工代码
      TS.DPT_CDE,                                -- 机构代码
      ‘56a5aa0561ddd3b88b924315043cf6fb‘,   -- 初始密码
      ‘6Umt‘,                                       -- 盐码
      TS.NAME,                                    -- 业务员名称
      TS.CTYPE,                                   -- 证件类型
      TS.CNO,                                     -- 证件号码
      TS.C_TEL,
      SYSDATE,
      TS.C_DEL,
      ‘0‘,
      ‘2‘,
      ‘99‘
    );

oracle - merge实例

标签:merge   val   next   The   oracle   into   code   类型   ddd   

原文地址:https://www.cnblogs.com/wlliac/p/9780860.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!