ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

merge into用法

2022-09-14 11:31:09  阅读:320  来源: 互联网

标签:upper code name into 用法 merge company id


merge into用法

merge into使用对于更新同一张表或字段相同的值时,直接替换字段的值,使用效率更高

使用场景:存在的数据进行更新,不存在的数据进行

语法

此处更新的表为tgt表,src表作为更新的条件,on后面的条件无法作为set的值
MATCHED:作为匹配on条件时,执行下面的操作

not MATCHED:不匹配on条件时,执行下面的操作

merge into [tgt] 
using [src]
 on [tgt.id = src.id and tgt.name = src.name]
where matched 
 then [update sql]
where not matched
 then [insert sql]

使用

sys_companyad_base_company表结构基本上时一致的,所更新的值的字段是一致的

  MERGE INTO sys_company a
      USING ad_base_company b
      ON (a.company_code = b.company_code)
      WHEN MATCHED THEN
        UPDATE
           SET a.upper_company_id = b.upper_company_id,
               a.company_type     = b.company_type,
               a.company_c_name   = b.company_c_name,
               a.company_t_name   = b.company_t_name,
               a.company_e_name   = b.company_e_name,
               a.show_name        = b.show_name,
               a.address          = b.address,
               a.mobile_phone     = b.mobile_phone,
               a.valid_is         = b.valid_is
      WHEN NOT MATCHED THEN
        INSERT
          (a.company_id,
           a.upper_company_id,
           a.company_code,
           a.company_type,
           a.company_c_name,
           a.company_t_name,
           a.company_e_name,
           a.show_name,
           a.address,
           a.mobile_phone,
           a.email,
           a.fax,
           a.website,
           a.remark,
           a.display_no,
           a.valid_is)
        VALUES
          (seq_sys_company.nextval,
           b.upper_company_id,
           b.company_code,
           b.company_type,
           b.company_c_name,
           b.company_t_name,
           b.company_e_name,
           b.show_name,
           b.address,
           b.mobile_phone,
           b.email,
           b.fax,
           b.website,
           b.remark,
           b.display_no,
           b.valid_is);

标签:upper,code,name,into,用法,merge,company,id
来源: https://www.cnblogs.com/lgxdev/p/16692409.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有