美文网首页
merge into using 详解

merge into using 详解

作者: 蜗牛滴追逐 | 来源:发表于2018-09-29 15:38 被阅读0次

    1、merge into 语句

    MERGE 是 Oracle9i 新增的语法,根据源表对目标表进行匹配查询,匹配成功时更新,不成功时插入
    比单独的 update + insert 的方式效率要更高,尤其是on条件下有唯一索引的时候,效率更高。

    使用场景

    在写数据同步的脚本时,常常会遇到这样的需求:‘存在时 - 更新,不存在时,插入’1

    语法

    MERGE INTO 目标表 a
    USING 源表 b
    ON (a.字段1 = b.字段2 and a.字段n = b.字段n)
    WHEN MATCHED THEN
    UPDATE SET a.新字段 = b.字段
    WHERE 限制条件
    WHEN NOT MATCHED THEN
    INSERT (a.字段名1,a.字段名n) VALUES(b.字段值1, b.字段值n)
    WHERE 限制条件123456789

    基础数据

    源表1:同上基础数据(0.1)
    目标表:
    CREATE TABLE stu1
    AS SELECT * from student t where t.id = 1;1234

    实例

    MERGE INTO stu1 a
    USING student b
    ON (a.sid = b.sid) -- 必须带 ‘()’括号
    WHEN MATCHED THEN -- 整体扫描,匹配时,执行此处
    UPDATE SET a.sname = '小倩'
    <DELETE>
    WHEN NOT MATCHED THEN -- 整体扫描,不匹配时,执行此处
    INSERT (a.sid, a.xm)VALUES(5, 'e')


    本文来自 鱼丸丶粗面 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qq_34745941/article/details/81176140?utm_source=copy

    相关文章

      网友评论

          本文标题:merge into using 详解

          本文链接:https://www.haomeiwen.com/subject/nuqboftx.html