文档章节

数据库根据键值自动判断插入还是更新的SQL

沉默的子明
 沉默的子明
发布于 2016/06/24 10:39
字数 271
阅读 81
收藏 1

MySQL


至4.1版以后开始支持INSERT … ON DUPLICATE KEY UPDATE
INSERT INTO 表名 (字段1,字段2,……)  VALUES (值1,值2,……) ON DUPLICATE KEY UPDATE 字段n=值n;
要使用这条语句,前提条件是这个表必须有一个唯一索引或主键
多行时,会自动更新存在相同键值的行,插入键值不存在的行





Oracle


Oracle9i新增的语法,用来合并UPDATE和INSERT语句。通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。
MERGE INTO [your table-name] [rename your table here]

  USING ( [write your query here] )[rename your query-sql and using just like a table]

  ON ([conditional expression here] AND [...]...)

  WHEN MATCHED THEN [here you can execute some update sql or something else ]

  WHEN NOT MATCHED THEN [execute something else here ! ]

本文转载自:http://blog.163.com/stu_shl/blog/static/5993750920122130049515/

共有 人打赏支持
沉默的子明
粉丝 4
博文 36
码字总数 1245
作品 0
南京
eric_1989/jfire-sql

#Jfire-Sql框架 [TOC] ##框架说明## Jfire-sql是一个sql映射框架,通过将一个接口方法和sql语句绑定,来达到调用方法就是发出sql语句的目的。框架提供了透明自动的结果到对象,对象集合的转换...

eric_1989
2015/09/02
0
0
Hibernate(二)——POJO对象的操作

POJO对象其实就是我们的实体,这篇博客总结一下框架对POJO对象对应数据库主键的生成策略,和一些对POJO对象的简单增删改查的操作。   一,Hibernate框架中主键的生成策略有三种方式:   1...

凡尘里的一根葱
2015/11/11
0
0
深入浅出hibernate总结

一、总括 1、sessionFactory与session (1)sessionFactory:一个数据库对应一个factory,线程安全、单例,一般随应用开启和关闭。 (2)session:非线程安全,管理connection(池) sessio...

xixicat
2014/03/30
0
0
SQLite 在 Android 中的详细使用

声明:本文转载自:http://www.cnblogs.com/weixing/archive/2013/08/02/3232994.html 感谢 “无恨星辰”的知识积累,这对于热爱学习的人来说是一个巨大的帮助..... 1、SQLite简介 SQLite是一...

learn_more
2014/12/12
0
0
技术讨论:一个关于点赞功能与异常捕获处理的迷惑

最近一直做一个关于"点赞"功能的服务器端(整个服务器功能的一个小部分),基本的需求主要是这样的: 用户发表了一个状态,浏览者可以点赞,但是点赞只能点一次.如果浏览者点了第二次,客户端就说"...

徐建兴
2013/11/21
990
4

没有更多内容

加载失败,请刷新页面

加载更多

ReentrantLock_可重入

package cunrent;import java.util.Calendar;import java.util.concurrent.locks.ReentrantLock;public class TestReentrantLock { public static void main(String[] args......

noteman
38分钟前
2
0
CentOS7下安装mysql5.7

1、安装YUM Repo 由于CentOS 的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件。 wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm 然后进行repo的安...

JungleKing
46分钟前
2
0
DevExpress v18.1新版亮点——DevExtreme篇(三)

用户界面套包DevExpress v18.1日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容。本文将介绍了DevExtreme JavaScript Controls v18.1 的新功能,快来下载试用新版本!点击下载...

Miss_Hello_World
47分钟前
1
0
LoadRunner 安装

如果安装LoadRunner 11时弹窗提示"Micosoft Visual C++ 2005 SP1 可再发行组件包(X86):'命令行选项语法错误。键入命令 / ? 可获得帮助信息'"。或者弹窗提示"此计算机缺少 vc2005_sp1_wit...

ww1234
56分钟前
1
0
两个时间段相隔自然月Util

public class DateUtil { public static int getDay(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calend......

木九天
59分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部