在SQL2008中,新增了一个关键字:Merge,这个和Oracle的Merge的用法差不多,只是新增了一个delete方法而已。下面就是具体的使用说明:

首先是对merge的使用说明:

merge [into] [目标表] using <源表> on 条件 when matched 操作 when not matched 操作;

首先,请参看两张表 TableThis和TableThat:

可以看到,这两张表中的内容还是比较简单的,两张表通过一个tbThisID进行主键和外键的关联,那么如如果想实现二者之间的数据同步,该如何进行呢,请看具体的Merge代码:


merge into TableThat as a using TableThis as b on a.tbThisID = b.tbThisID when matched then update set a.tbContent=a.tbContent+'-'+b.tbThisPhone when not matched then insert (tbThisID,tbContent) values(b.tbThisID,b.tbThisPhone);

这样  就可以将两个表中间的数据进行同步并且进行更新,确实很方便,最终得到结果为:

但是如果想让匹配的数据删除掉,并且如果子表中没有数据就插入,这个该如何用呢,当然得涉及到delete的操作了:


merge into TableThat as a using TableThis as b on a.tbThisID = b.tbThisID when matched then delete when not matched then insert (tbThisID,tbContent) values(b.tbThisID,b.tbThisPhone);

这样得到的结果为:

希望有用。

最新文章

  1. Struts2 - Conversion Plugin
  2. python 循环语句的else语句用法,当循环条件变为假,切不是通过breakbreak终止的时候,就会执行这个else语句。
  3. 【noiOj】p8207(233)
  4. 【ASP.NET 插件】zyUpload的HTML5上传插件
  5. 从0开始学Java——JSP&amp;Servlet——Tomcat和Apache的区别
  6. PHP 查询时区与设置时区
  7. Linux命令ln的使用
  8. 关于谷歌浏览器下自动填写密码的bug
  9. SVN的使用(转发)
  10. C和指针 (pointers on C)——第三章——数据
  11. Javaweb 第4 天xml 课程
  12. 第二十六节,Python内置函数
  13. Linux - 请允许我静静地后台运行
  14. 微信小程序--ajax服务器交互及页面渲染
  15. jquery中的事件与应用
  16. Spring Cloud Zuul 限流详解(附源码)(转)
  17. 吴恩达机器学习笔记5-Octave基本操作
  18. 内置函数二: map sorted filter
  19. Makefile中的%标记和系统通配符*的区别
  20. Java线程同步与锁

热门文章

  1. 基础篇-java开发
  2. 转载:阮一峰 理解RESTful架构
  3. 升级到tomcat8遇到The method getDispatcherType() is undefined for the type HttpServletRequest
  4. admin 模块功能
  5. (转)IIS tomcat共用80端口解决一个IP多个域名:使用Nginx反向代理方式使两者兼容
  6. Android:日常学习笔记(6)——探究活动(4)
  7. range基础
  8. Kattis - sortofsorting 【排序】
  9. iOS Autolayout 在tableView scrollView 适用 学习
  10. Ajax在jQuery中的应用---加载异步数据