文档章节

oracle里通过merge语句判断重复插入

hefeiuu
 hefeiuu
发布于 2017/05/04 20:27
字数 296
阅读 2
收藏 0
点赞 0
评论 0
由于项目中需要用到批量插入,为了防止用户插入重复的数据,需要先判断插入的数据是不是已经存在,如果存在则忽略这次插入,否则插入这条数据,刚开始的时候是先用一条SQL语句判断,如果返回结果是真(记录已经存在),则忽略,否则插入这条数据,这样的话插入一条数据就要发起两个到数据库的连接,后来发现这样做效率实在太低了,Google了一下,发现oracle数据库支持merge语句,做了个测试,成功了,记录下来供本人及同行以后查阅之用。

  数据库:TEST

 
 CREATE TABLE TEST(

  ID NUMBER NOT NULL,

  NAME VARCHAR2(30) NOT NULL,

  SEX VARCHAR2(2) DEFAULT '男'

  )


  插入两条数据:

 
 INSERT INTO TEST VALUES(1,'SUNZHENXING','男')

  INSERT INTO TEST VALUES(2,'SUNHAILONG','女')


  MERGE语句:

  MERGE INTO TEST A USING TEST B

  ON (A.NAME=B.NAME)

  WHEN MATCHED THEN

  UPDATE SET A.SEX='女'WHERE A.NAME='SUNZHENXING'

  WHEN NOT MATCHED THEN

  INSERT VALUES (3,'SUNZHENXING','女')

  需要注意的是:MERGE语句中的UPDATE语句和INSERT语句和一般的SQL语句格式有点不同

本文转载自:http://ufopw.iteye.com/blog/962674

共有 人打赏支持
hefeiuu
粉丝 3
博文 64
码字总数 0
作品 0
合肥
Mysql 原生语句中save or update 的各种写法

Mysql 原生语句中save or update 的各种写法 背景   在平常的开发中,经常碰到这种更新数据的场景:先判断某一数据在库表中是否存在,存在则update,不存在则insert。如果使用Hibernate,它...

Tek_Eternal
2015/02/09
0
0
Merge into的使用详解

Merge是一个非常有用的功能,类似于Mysql里的insert into on duplicate key. Oracle在9i引入了merge命令, 通过这个merge你能够在一个SQL语句中对一个表同时执行inserts和updates操作. 当然是...

mrliuze
2015/07/20
0
0
oracle中merge的用法,以及各版本的区别 Create

Merge是一个非常有用的功能,类似于Mysql里的insert into on duplicate key. Oracle在9i引入了merge命令, 通过这个merge你能够在一个SQL语句中对一个表同时执行inserts和updates操作. 当然是...

开源中国技术顾问
2016/01/22
57
0
数据库根据键值自动判断插入还是更新的SQL

MySQL 至4.1版以后开始支持INSERT … ON DUPLICATE KEY UPDATE INSERT INTO 表名 (字段1,字段2,……) VALUES (值1,值2,……) ON DUPLICATE KEY UPDATE 字段n=值n; 要使用这条语句,前提...

沉默的子明
2016/06/24
73
0
MERGE INTO oracle

http://blog.csdn.net/yuzhic/article/details/1896878 http://blog.csdn.net/macle2010/article/details/5980965 该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据. ORA...

狮子暴走
2014/07/29
0
0
Oracle中Merge into用法总结

起因:   前段时间,因为涉及到一张表的大数据操作,要同时进行增删改,我跟师傅想了很多优化办法,结果都不尽人意。刚开始用的就是原始算法,先更新现有记录,再插入满足要求的其他记录,...

买个ZIPPO点蚊香
2016/10/21
6
0
关于ORACLE merge into 的两个常见错误

------- MERGE语法简介 语法如下: MERGE hint INTO schema . table t_alias USING schema . { table | view | subquery } t_alias ON (condition) WHEN MATCHED THEN mergeupdateclause WHE......

小小明童鞋
2016/08/26
59
0
Oracle 中MERGE语句的用法

MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。这个...

zh119893
2013/06/20
201
0
Oracle原厂老兵:从负面案例看Hint的最佳使用方式

作者介绍 罗敏,从事Oracle技术研究、开发和服务工作20余年,在Oracle中国公司的10多年,分别在顾问咨询部、技术服务部担任资深技术顾问。曾参与国内银行、电信、政府等多个行业大型IT系统的...

罗敏
2016/10/12
0
0
oracle-merge用法详解

转自 http://blog.chinaunix.net/u/12457/showart_346642.html oracle-merge用法详解 Oracle9i引入了MERGE命令,你能够在一个SQL语句中对一个表同时执行inserts和updates操作. MERGE命令从一个...

晨曦之光
2012/04/25
118
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

设计神器 - 摹客设计系统上线了 | 晒出你的设计规范,赢iPad Pro!

在国内,设计规范也许还是个不太常用的概念,但是如果你正好有参与互联网公司的产品设计,你应该早就已经体会到设计规范的重要性了。UI设计师总是要花费大量的时间和精力向开发描述一大堆设计...

mo311
5分钟前
0
0
Thymeleaf 使用过程中的一些记录

Thymeleaf格式化时间: th:value="${#dates.format(gw.regDT,'yyyy-MM-ddHH:mm:ss')}" Thymeleaf select反选: <select id="status" name="status" th:field="${gw.status}" th:value="${gw.......

惊尘大人
7分钟前
0
0
istio源码分析之pilot-discovery模块分析

本文分析的istio代码版本为0.8.0,commit为0cd8d67,commit时间为2018年6月18日。 本文为Service Mesh深度学习系列之一: Service Mesh深度学习系列part1—istio源码分析之pilot-agent模块分...

xiaomin0322
13分钟前
0
0
数据库基本操作:增删改查及联表操作

所用软件:SQL Server Management Studio 首先第一步,建立一个表。在这里命名为T1。并在里面填入几条数据。如图: T1 一.查询 查询所有:select * from T1; 按条件查询:select * from T1 ...

小_橙_子
17分钟前
0
0
Crontab作业时间设置

今天,遇到这么一个题目,周一到周五的9:00-16:59之间,每隔两分钟将某个命令运行一次。给的答案是: */2 9-16 * * 1-5 /usr/sbin/somecommand dosomething 乍一看,这个答案不对,应...

大别阿郎
21分钟前
0
0
ES17-JAVA API文档管理

1.保存文档 可以通过json工具把java对象转换成json字符串进行保存,也可以通过内置的帮助类直接构建json格式 /** * 获取客户端 * * @return */public static TransportClie...

贾峰uk
22分钟前
0
0
Python代码规范和命名规范

前言 Python 学习之旅,先来看看 Python 的代码规范,让自己先有个意识,而且在往后的学习中慢慢养成习惯 一、简明概述 1、编码 如无特殊情况, 文件一律使用 UTF-8 编码 如无特殊情况, 文件头...

blackfoxya
25分钟前
0
0
联动滑动之一:NestScrollChild和NestedScrollingParent

NestScrollChild和NestedScrollingParent 吐槽一下开源中国竟然标题字数有限制 由于项目中使用了CoordinateLayout来解决联动以及实现炫酷的UI效果,那么必须就要研究一波源码了,毕竟知其然知...

JerryLin123
42分钟前
1
0
cloudera spark2.2 读写hbase

cloudera spark2.2 读写hbase 例子 host = 'bigdata-03,bigdata-05,bigdata-04'conf = { "hbase.zookeeper.quorum": host, "hbase.mapreduce.inputtable": "student1"}k......

osenlin
47分钟前
0
0
数据库规范化

转载自 一个小时学会MySQL数据库 地址:http://www.cnblogs.com/best/p/6517755.html 截取其中 1.4 部分 用于自己学习使用 感谢作者:张果 1.4、数据库规范化 经过一系列的步骤,我们现在终于...

十万猛虎下画山
47分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部