加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle实现 无则insert插入,有则update更新,一条语句直接进行in

发布时间:2020-12-12 14:13:02 所属栏目:百科 来源:网络整理
导读:mergeinto应用:实现 无则insert插入,有则update更新,一条语句直接进行insert/update操作 merge ino语法: MERGE INTO table1 alias1 USING (table2|view2|sub_query2) alias2 ON (join condition) WHEN MATCHED THEN UPDATE table1 SET col1 = col_val1, c

mergeinto应用:实现 无则insert插入,有则update更新,一条语句直接进行insert/update操作

merge ino语法:

MERGE INTO table1 alias1
USING (table2|view2|sub_query2) alias2
ON (join condition)
WHEN MATCHED THEN
UPDATE table1
SET col1 = col_val1,
col2 = col2_val
WHEN NOT MATCHED THEN

INSERT(column_list)VALUES(column_values);


--将总公司sstl的客户信息occ_file数据表和子公司sstl_dx的客户信息occ_file核对
--如果sstl_dx公司的客户信息和sstl不同,则依据sstl客户信息更新sstl_dx的客户信息
--如果sstl_dx公司没有,则将sstl的客户信息新增入sstl_dx公司
    MERGE INTO sstl_dx.occ_file dx_occ
          USING sstl.occ_file sstl_occ
          ON(dx_occ.occ01 = sstl_occ.occ01)
        WHEN MATCHED THEN
          update
            set dx_occ.occ02 = sstl_occ.occ02,dx_occ.occ03 = sstl_occ.occ03,dx_occ.occ04 = sstl_occ.occ04,dx_occ.occ05 = sstl_occ.occ05,...
            where dx_occ.occacti = 'Y'
        WHEN NOT MATCHED THEN
          insert
            values(sstl_occ.occ01,sstl_occ.occ02,sstl_occ.occ03,sstl_occ.occ04,sstl_occ.occ05,...)
            where sstl_occ.occacti = 'Y';

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读