Oracle merge into的用法,以及MySQL的相同功能语句
来源:互联网 发布:淘宝售后时间是多久 编辑:程序博客网 时间:2024/06/02 06:26
今天在重构以前的代码发现一个效率比较低的SQL,插入一条数据的时候先查询,如果不为空,则进行更新操作,如果为空则插入,则插入。
一,Oracle
merge into emp a
using (select '111' as id,'周文军' as name from dual) b
on (a.id= b.id)
when matched then
update set a.name= b.name
when not matched then
insert (id,name) values(b.id,b.name);
--emp表中有id和name字段,当插入一个id=‘111’,name=‘周文军’的数据时,进行判断
1、如果原表存在id=111的人,则运行update语句。
2、如果表中不存在id=111的人,则运行insert语句。
--解释
将插入的数据放置到b表中,和a表进行匹配,匹配规则Wieusing中的规则,如果匹配成功,则运行uodate,否则运行insert,此写法比先查询再做判断的效率提高很多。
二,mysql
mysql中要求该表存在主键
MySQL中存在insert ignore into语句,用法和插入语句相同,但如果表中已存在该记录的主键,则忽略此插入语句。
MySQL中的存在更新否则插入的语句为replace into,语法同insert into,如
replace into emp (id,name) values('111','周文静');
--解释
前提是id为emp的主键
如果存在id=‘111’的记录,则运行更新语句,否则插入。
阅读全文
0 0
- Oracle merge into的用法,以及MySQL的相同功能语句
- Oracle merge into的用法
- Oracle MERGE INTO的用法
- oracle merge into 的用法
- oracle merge into的用法
- mysql的replace into类似于oracle的merge sql语句
- Oracle中MERGE INTO语句的使用方法
- Oracle merge into语句的行为
- oracle merge into 的用法详解+实例
- Oracle Merge Into 的用法详解实例
- Oracle merge into 的用法详解实例
- oracle merge into 的用法详解
- oracle merge into 的用法详解+实例
- Oracle Merge Into 的用法详解实例
- Oracle Merge Into 的用法详解实例
- Oracle merge into 的用法详解实例
- Oracle Merge Into 的用法详解实例
- Oracle中MERGE INTO的用法
- Python2与python3区别(二)
- mariadb 下管理用户账号
- 一款以最新潮的方式来使用UIImage的swift插件
- 一款APP从设计稿到切图过程全方位揭秘(IOS版)
- 数据库中事务隔离级别
- Oracle merge into的用法,以及MySQL的相同功能语句
- 每日学习20170701--guava并发编制之Monitor使用
- linux命令eval的用法
- Javascript入门篇
- 题目1534:数组中第K小的数字
- Mybatis中配置Mapper
- mybatis中resultmap和resulttype区别
- C++__运算符重载
- jquery01