Merge 2
2024-10-07 20:26:41
在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);
这样得到的结果为:
希望有用。
最新文章
- Struts2 - Conversion Plugin
- python 循环语句的else语句用法,当循环条件变为假,切不是通过breakbreak终止的时候,就会执行这个else语句。
- 【noiOj】p8207(233)
- 【ASP.NET 插件】zyUpload的HTML5上传插件
- 从0开始学Java——JSP&;Servlet——Tomcat和Apache的区别
- PHP 查询时区与设置时区
- Linux命令ln的使用
- 关于谷歌浏览器下自动填写密码的bug
- SVN的使用(转发)
- C和指针 (pointers on C)——第三章——数据
- Javaweb 第4 天xml 课程
- 第二十六节,Python内置函数
- Linux - 请允许我静静地后台运行
- 微信小程序--ajax服务器交互及页面渲染
- jquery中的事件与应用
- Spring Cloud Zuul 限流详解(附源码)(转)
- 吴恩达机器学习笔记5-Octave基本操作
- 内置函数二: map sorted filter
- Makefile中的%标记和系统通配符*的区别
- Java线程同步与锁
热门文章
- 基础篇-java开发
- 转载:阮一峰 理解RESTful架构
- 升级到tomcat8遇到The method getDispatcherType() is undefined for the type HttpServletRequest
- admin 模块功能
- (转)IIS tomcat共用80端口解决一个IP多个域名:使用Nginx反向代理方式使两者兼容
- Android:日常学习笔记(6)——探究活动(4)
- range基础
- Kattis - sortofsorting 【排序】
- iOS Autolayout 在tableView scrollView 适用 学习
- Ajax在jQuery中的应用---加载异步数据