码迷,mamicode.com
首页 > 数据库 > 详细

oracle数据库,覆盖插入数据---- merge into

时间:2018-08-30 14:58:15      阅读:429      评论:0      收藏:0      [点我收藏+]

标签:into   ret   upd   print   from   oracl   常用   插入   思路   

在开发中我们经常会碰到这么一个场景,列如用户修改简单的个人基本信息,这个时候就需要判断用户的基本信息是否存在,如果是首次录入不存在就在表中插入一条信息,如果存在就更新表里的信息。
要实现这种这种场景很简单,我们最常用的就是先查询一下用户的基本信息,执行一下select方法,如果数据存在就执行update方法,如果不存在就就执行insert 方法。这是一种解决思路。
当只是很简单的条件判断时,我们也有另外一种数据库层面的解决思路就是merge into ,很多数据库都有这种语句,因为我用的oracle,这里就记录下oracle的用法,从version 9开始就支持的语法。

MERGE INTO table_name t1
USING (select A a,B b,C c from dual) t2
ON (t1.a = t2.a)
WHEN MATCHED THEN
  UPDATE t1 SET B= b, C= c
WHEN NOT MATCHED THEN
  INSERT t1  VALUES (a,b,c);

oracle数据库,覆盖插入数据---- merge into

标签:into   ret   upd   print   from   oracl   常用   插入   思路   

原文地址:https://www.cnblogs.com/cbk-jogger/p/9560121.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!