oracle:将t2表中的数据批量插入到t1表中,有则更新,无则插入。

oracle:将t2表中的数据批量插入到t1表中,有则更新,无则插入。

注意:多个条件在on中,并用and连接。

语法:

merge into 表名 t1
        using (select '数据数据' 字段1,'数据数据' 字段2 from dual) t2
        on (t1.字段1 = t2.字段1 and t1.字段2=t2.字段2)
        when matched then
        	update set t1.字段2=t2.字段2
        when not matched then
        	insert values (t2.字段1, t2.字段2)

示例:

-- 将T2表中的数据批量插入到T1表中,有则更新,无则插入。     
MERGE INTO EMERGENCY_NOTICE_CBSS1 T1 
     USING (SELECT TRADE_TYPE_CODE, NET_TYPE_CODE, TRADE_ID, USER_ID
          FROM UCR_QRY_CRM.TF_B_TRADE
         WHERE TRADE_TYPE_CODE = '7301'
           AND NET_TYPE_CODE = '50' AND USER_ID='1119072356576816') T2
     ON (T1.USER_ID = T2.USER_ID AND T1.TRADE_ID=T2.TRADE_ID)-- 存放条件
     WHEN NOT MATCHED THEN
       INSERT (TRADE_TYPE_CODE, NET_TYPE_CODE, TRADE_ID, USER_ID) 
       VALUES(T2.TRADE_TYPE_CODE, T2.NET_TYPE_CODE, T2.TRADE_ID, T2.USER_ID)
     WHEN MATCHED THEN
       UPDATE SET REMARK='已存在';
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值