2015年12月16日 Oracle语句实现有则更新无则插入

在使用Oracle数据库之前,我是用的是Mysql数据库,知道Mysql数据库实现有则更新,无则更新,是有一条语句的,

但是Oracle实现此功能却一时让我顿感无措,但是我坚信oracle数据库一定会提供此类语句。

于是。。。

1)Oracle实现有则更新,无则插入

使用MERGE INTO语句

如下:已知传过来的参数三个 userid 、name 、sex.要求如果用户表(T_USER)中存在相同的userid则更新name和sex字段,如果用户表(T_USER)中不存在userid,则插入一条记录

MERGE INTO T_USER T1

USING(SELECT userid AS id,name AS username,sex AS usersex FROM dual) T2

ON(T1.userid=T2.id)

WHEN MATCHED THEN

update set t1.name=t2.username,t1.sex=t2.usersex

WHEN NOT MATCHED THEN

insert(userid,name,sex) VALUES(t2.id,t2.username,t2.usersex);

2)Mysql实现有则更新,无则插入

MYSQL需要实现以上功能,需要怎么做呢?

使用ON DUPLICATE KEY UPDATE语句

已知传过来的参数三个 id 、username 、usersex 它们的值分别为: 1   张三  男.

INSERT INTO T_USER(userid,name,sex) VALUES (id,username,usersex) ON DUPLICATE KEY UPDATE name=username,sex=usersex;

注意:如果在Mysql中使用这种形式,则要求在数据表中userid字段必须是主键或建立了唯一的索引

如须引用,请表明出处: http://www.cnblogs.com/anzhao/p/5050555.html

时间: 2024-10-15 01:07:43

2015年12月16日 Oracle语句实现有则更新无则插入的相关文章

我的Python成长之路---第一天---Python基础(作业1:登录验证)---2015年12月26日(雾霾)

1 #!/usr/bin/env python3 2 # coding:utf-8 3 ''' 4 Created on: 2015年12月29日 5 6 @author: 张晓宇 7 8 Email: [email protected] 9 10 Version: 1.0 11 12 Description: 输入用户名密码,认证成功显示欢迎信息,认证失败,输错三次后锁定 13 14 Help: 15 ''' 16 import os 17 # 定义用户信息写入函数,用于把用户信息写回文件 1

19.go语言基础学习(上)——2019年12月16日

2019年12月16日16:57:04 5.接口 2019年11月01日15:56:09 5.1 duck typing 1. 2. 接口 3.介绍 Go 语言的接口设计是非侵入式的,接口编写者无须知道接口被哪些类型实现. 而接口实现者只需知道实现的是什么样子的接口,但无须指明实现哪一个接口. 编译器知道最终编译时使用哪个类型实现哪个接口,或者接口应该由谁来实现. 每个接口类型由数个方法组成.接口的形式代码如下: type 接口类型名 interface{ 方法名1( 参数列表1 ) 返回值列表

我的Python成长之路---第一天---Python基础(1)---2015年12月26日(雾霾)

2015年12月26日是个特别的日子,我的Python成之路迈出第一步.见到了心目中的Python大神(Alex),也认识到了新的志向相投的伙伴,非常开心. 尽管之前看过一些Python的视频.书,算是有一点基础.但在这里我要保持空杯心态,一切从头开始.好了不多说,Let's Python!!!! 一.Python简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言.目前Python已经成为实际上除了中国最流行的开发语

2015年12月18-19日,杨学明老师《产品测试管理》深圳公开课成功举办!

2015年12月18-19日,在风景秀丽的深圳华侨城鸿波酒店,研发资深顾问.资深讲师杨学明先生<产品测试管理>公开课成功举办!来自电气.软件.电子.空调.医疗.机器人等企业的研发负责人和测试部门经理等参加了此次培训,此次培训由著名研发管理专家杨学明主讲,本次课程采用全程案例分析讲解,让学员从一开始就融入到产品测试的场景中去,根据测试中所遇问题进行针对性讲解和讨论:每一个知识点的讲解都有相应的工具和模板支撑,从而使学员所学的知识在工作中能真正使用起来,也解决了培训不能落地的难题:培训结束后许多企

我的Python成长之路---第一天---Python基础(作业2:三级菜单)---2015年12月26日(雾霾)

#!/usr/bin/env python3 # coding:utf-8 ''' Created on: 2015年12月30日 @author: 张晓宇 Email: [email protected] Version: 1.0 Description: 三层菜单 1.菜单一共三级即:省,市,区县 2.每一级菜单输入的如果输入的是菜单里的选项则进入下级菜单 3.第1级菜单输入q退出系统 4.第2.3级菜单输入q退出系统,输入b返回上级菜单 5.三级菜单全部正确打印最后的全部选择结果,否则继续

2015年12月14日 星期一 日本为什么那么强大

body { font-family: Microsoft YaHei UI,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5; } html, body { } h1 { font-size:1.5em; font-weight:bold; } h2 { font-size:1.4em; font-weight:bo

2015年7月16日 项目开发文档

日期 2015年7月16日 星期 星期四 位置 中蓝公寓蓝芳园D507 主要工作 1)         项目开发计划报告编写 2)         需求规格说明书报告编写 3)         详细设计说明书部分报告编写 4)         概要设计说明书编写 5)         数据库设计说明书编写 遇到的问题 1)         报告的有一些部分不知道具体的格式应该是什么样子以及需要包含哪些部分 解决方法 1)明天去找老师讨论有关报告的问题 完成进度 80% 成果 今天我们完成了大部分

linux运维实战练习案例-2015年12月20日-12月31日 (第一次)

一.实战案例(练习)内容 假如你学习完Linux,想找一份儿Linux相关的运维工作,某天你接到一家公司给出的邀请,你来到该公司面试,面试前,运维主管给你出了一些简单的笔试题,题目如下: 1.创建一个10G的文件系统,类型为ext4,要求开机可自动挂载至单独数据/data目录: 操作步骤: (1).使用fdisk工具创建一个10G的分区 [[email protected] ~]# fdisk /dev/sda 欢迎使用 fdisk (util-linux 2.23.2). 更改将停留在内存中,

零基础学习云计算及大数据DBA集群架构师【Linux系统环境及权限管理2015年12月24日周四】

1 2015.12.24/Thu 2 3 *************摘要************** 4 ACL主机的细部权限规划 ACL getfacl setfacl 5 attr文件与目录的隐藏属性 attr lsattr chattr 6 文件系统 P196 ext2/3/4 xfs 7 目录树 8 软硬连结 ln 9 指令和文件的搜索 which whereis locate find /var/lib/mlocate/mlocate.db 10 11 ?如何查看软链接文件在磁盘上存放