zoukankan      html  css  js  c++  java
  • 【oracle】-函数:merge into...

    0、前言

    ​ 我们在业务中可能碰到这种情况:如果用户在数据库中不存在,那么就进行插入;否则就进行修改。

    ​ 按我们平时的做法可能是在业务层先查询用户存不存在,如果存在,那么就更新。

    ​ 那我们下面讲一种在oracle数据库层面的条件判断--merge into。



    1、语法

    MERGE INTO 表A 
    USING 与表A产生关联字段值
    ON 进行和表A的关联 
    WHEN MATCHED THEN    	--如果匹配,做更新操作
    	update set.... 
    WHEN NOT MATCHED THEN   --如果不匹配,做添加操作
    	insert ....
    



    2、使用

    2.1 测试添加

    注意update金额insert后不用加表名

    merge into emp10 e
    using (select '1111' as empno, 'heihei' as ename from dual) s
    on (e.empno = s.empno)
    when matched then
         update set ename = s.ename where empno = s.empno
    when not matched then
         insert (empno,ename) values(s.empno,s.ename);
    



    2.2 测试修改

    merge into emp10 e
    using (select '1111' as empno, 'xixixi' as ename from dual) s
    on (e.empno = s.empno)
    when matched then
         update set ename = s.ename where empno = s.empno
    when not matched then
         insert (empno,ename) values(s.empno,s.ename);
    

  • 相关阅读:
    Oracle Cannot Update TOP N Issue, 请专家解答
    .NET 匿名方法的BUG,请专家解答
    那些年我们追过的SQL
    迁移至csdn
    Vuejs的一些总结
    CSS命名规范——BEM思想
    Vuejs的一些总结
    shadow-dom 浅析
    javascript 对象封装的常用方式
    JavaScript的性能优化:加载和执行
  • 原文地址:https://www.cnblogs.com/mercurytan/p/13696636.html
Copyright © 2011-2022 走看看