merge into命令的语法结构如下:merge into A

简介: merge into命令的语法结构如下:merge into A using B on (A.id = B.id)when matched thenupdate

Oracle merge into命令,顾名思义就是“有则更新,无则插入”,这个也是merge into 命令的核心思想,在实际开发过程中,我们会经常遇到这种通过两表互相关联匹配更新其中一个表的某些字段的业务,有时还要处理不匹配的情况下的业务。

merge into命令的语法结构如下:merge into A using B on (A.id = B.id)when matched thenupdate set A.col=B.colwhen not matched then insert 语句;语法解析:利用B表通过A.id=B.id的条件来匹配A表,当满足条件时,可以对A表进行更新,当不满足条件时,可以利用inert语句插入相关数据。

例子:利用merge into命令从学生表(snfo)更新学生备份表(snfo_2018)的年龄,当备份表中找不到学生信息时插入新的学生信息,先看下两张表的数据:具体代码如下:merge into student.snfo_2018 A --using student.snfo B on (A.sd = B.sd)when matched thenupdate set A.age=B.agewhen not matched then insert (a.SD,a.STUNAME,a.SEX,a.AGE,a.CLASSNO,a.STUADDRESS,a.GRADE,a.ENROLDATE,a.IDNUMBER) values(b.SD,b.STUNAME,b.SEX,b.AGE,b.CLASSNO,b.STUADDRESS,b.GRADE,b.ENROLDATE,b.IDNUMBER);再看下备份表的数据,发现已经按照我们意愿添加了新的学生和变更了学生的年龄。


以上是文章"

merge into命令的语法结构如下:merge into A

"的内容,欢迎阅读集优教育网的其它文章