merge into 的语法如下所示:

MERGE INTO [target-table] T USING [source-table sql] S ON([conditional expression] and [...]...)
WHEN MATCHED
THEN [UPDATE sql]
WHEN NOT MATCHED
THEN [INSERT sql]

判断源表 S 和目标表 T 是否满足 ON 中的条件,如果满足则用 S 表去更新 T 表,如果不满足,则将 S 表数据插入 T 表中。但是有很多可选项,如下:

普通模式
只 update 或者只 insert
无条件 insert 实现
带 delete 的 update

示例

CREATE TABLE #temTbale1
(a int  NULL,b nvarchar(50)  NULL,c nvarchar(50)  NULL,d nvarchar(50)  NULL,e int  NULL
)
CREATE TABLE #temTbale2
(a int  NULL,b nvarchar(50)  NULL,c nvarchar(50)  NULL,d nvarchar(50)  NULL,e int  NULL
)MERGE INTO #temTbale1 t  -- target-table 目标表USING(select a,b,c,d,e from #temTbale2) s  -- source-table  源表ON t.a = s.a and t.b=s.b and   t.c= s.c --关联条件WHEN MATCHED THENUPDATE SET t.d= s.d , t.e=s.eWHEN NOT MATCHED THENINSERT(a,b,c,d,e)VALUES(s.a, s.b, s.c,s.d, s.e);

merge into 的用法相关推荐

  1. Oracle Merge Into 的用法详解实例

    Oracle merge into 的用法详解实例 作用:merge into 解决用B表跟新A表数据,如果A表中没有,则把B表的数据插入A表: 语法: MERGE INTO [your table- ...

  2. merge into的用法

    merge into t1 using t2 on t1.yhangh=t2.yhangh when matched then update set t1.ygongh_now=t2.ygongh,t ...

  3. merge函数_C++ - 标准库 merge 函数 的 用法及代码

    标准库 "merge" 函数 的 用法及代码 merge() 是 C++ 标准库的函数, 主要实现函数的排序和合并, 不仅仅是合并, 具体要求参照标准库. 如果是通用方法, 则第二 ...

  4. git merge最简洁用法

    一.开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支 git checkout dev git pull git checkout master git merge dev g ...

  5. Oracle中Merge into的用法实例讲解

    最近在做一个需求,就是涉及到表的问题,前端传过来一条数据,根据主键,查询数据库,如果不存在,那么久插入到数据库中一条,如果存在的话,就是以主键的方式,对数据库中的数据,进行更新. 拿到这个需求的时候, ...

  6. rxjs里merge operators的用法

    stream是lazy的,no subscription, no calculation occurs. 作用:Flattens multiple Observables together by bl ...

  7. python concat_python中merge、concat用法

    转载:https://blog.csdn.net/ly_ysys629/article/details/73849543 参考:https://blog.csdn.net/stevenkwong/ar ...

  8. pandas中merge函数的用法

    概述 merge用来合并DataFrame或者Series. 参数 pd.merge(left, right, how='inner', on=None, left_on=None, right_on ...

  9. oracle数据库merge into,merge into 的用法

    以前看到过merge into 不过都没怎么留意过,今天看到了,赶紧记录下: SQL> select version from product_component_version; VERSIO ...

  10. SQL语句merge into的用法

    应用场景 在批量更新大量的数据时,使用Insert 和Update操作会出现效率低下,甚至卡死的情况.改用 MERGE INTO 代替执行批量更新,会提升执行效率. merge into将源数据(来源 ...

最新文章

  1. K-近邻算法之特征工程-特征预处理
  2. MySQL高可用架构InnoDB Cluster (和NDB Cluster是两码事)
  3. java新闻分页_新闻实现分页显示
  4. liferay在sturs2中传参数
  5. Apache Ant 1.9.13和1.10.5发布–支持Java 11单文件源程序
  6. 智能车复工日记【6】:有bug的模糊PID记录
  7. java打印数组_Java中打印数组内容的方式有哪些?
  8. 一次Java解析数独的经历,java面试题,java高级笔试题
  9. 双重差分模型能做固定效应吗_互助问答第53期:控制时间效应、交互项等问题...
  10. jpa 人大金仓数据库方言_KingBaseV8人大金仓数据库 | 大小写敏感问题
  11. java语言中实现键盘输入_Java程序设计中的键盘输入数据的方法分析
  12. C++中读写文件demo
  13. Edraw安装教程(附下载链接)
  14. linux 内核 addr2line,內核調試 arm-none-linux-gnueabi-addr2line 工具使用
  15. uni-app的渲染数据和三种调接口的方法
  16. 信源编码技术作业1:使用Audacity绘制并分析清音、浊音、爆破音的频谱图
  17. mysql-8.0.23-winx64安装教程
  18. 刷题:力扣-LCS 01. 下载插件
  19. 中职计算机对数学知识的要求,中职计算机专业的数学教学研究
  20. springboot集成redis报错找不到bean

热门文章

  1. [康宁]浅论亚里士多德对柏拉图“理念论”的批判与继承
  2. ucOS-II基于ARM920T的OSIntCtxSw实现分析
  3. CUBEMX移植RTTHREAD步骤
  4. C/C++编程学习 - 第5周 ⑧ 判断直角三角形
  5. Three.js入门学习笔记12:模型沿着任意轨迹线运动
  6. 直流电压和电流数据记录器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  7. 人工智能芯片龙头之一gti概念股_AI芯片龙头寒武纪IPO价格定了!概念股全名单收好...
  8. python 利用os库 读取、写入txt文本
  9. sharepoint主题样式定制
  10. windows找不到文件cmd解决方法