Oracle merge into的优势

Oracle merge into的优势,第1张

概述简介   Oracle merge into命令,顾名思义就是“有则更新,无则插入”,这个也是merge into 命令的核心思想,在实际开发过程中,我们会经常遇到这种通过两表互相关联匹配更新其中一个表的某些字段的业务,有时还要处理不匹配的情况下的业务。这个时候你会发现随着表的数据量增加,类似这种业务场景的执行效率会比较慢,那是因为你需要多次重复查询两表中的数据,而通过merge into命令,只 简介

  Oracle merge into命令,顾名思义就是“有则更新,无则插入”,这个也是merge into 命令的核心思想,在实际开发过程中,我们会经常遇到这种通过两表互相关联匹配更新其中一个表的某些字段的业务,有时还要处理不匹配的情况下的业务。这个时候你会发现随着表的数据量增加,类似这种业务场景的执行效率会比较慢,那是因为你需要多次重复查询两表中的数据,而通过merge into命令,只需要一次关联即可完成“有则更新,无则插入”的业务场景,大大提高语句的执行效率。

语法
1 merge into A表 using B表 on (A表.ID = B表.ID)2 when matched then --匹配到,则更新A表数据3 update set A.col=B.col4 when not matched then --没匹配到,往A表插入数据5  insert (a,b,c) values (a,b,c);

解释:利用B表通过A表.ID=B表.ID的条件来匹配A表,当满足条件时,可以对A表进行更新,当不满足条件时,可以利用inert语句插入相关数据。

案例

merge into student.stuinfo_2018 Ausing student.stuinfo Bon (A.stuID = B.stuID)when matched then --匹配到往A更新数据  update set A.age = B.agewhen not matched then --没匹配到往A插入数据  insert    (a.STUID,a.STUname,a.SEX,a.AGE,a.CLASSNO,a.STUADDRESS,a.GRADE,a.ENRolDATE,a.IDNUMBER)  values    (b.STUID,b.STUname,b.SEX,b.AGE,b.CLASSNO,b.STUADDRESS,b.GRADE,b.ENRolDATE,b.IDNUMBER);
总结

以上是内存溢出为你收集整理的Oracle merge into的优势全部内容,希望文章能够帮你解决Oracle merge into的优势所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1152889.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存