标签: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_company
与ad_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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。