Oracle merge into用法以及相关例子示例
我们今天主要介绍的是Oracle merge into用法以及相关例子,本文还涉及到其在实际操作中的相关语法的示例,望你在浏览之后会有所收获。
AD:51CTO学院:IT精品课程在线看!
以下的文章主要是对Oracle merge into用法以及相关例子的介绍,首先我们以Oracle 9I中加入MERGE入手,以下就是文章的具体内容的分析,希望你浏览完之后会给你带来一些帮助在此方面。
语法:
- MERGE [hint] INTO [schema .] table [t_alias]
- USING [schema .] { table | view | subquery } [t_alias]
- ON ( condition )
- WHEN MATCHED THEN merge_update_clause
- WHEN NOT MATCHED THEN merge_insert_clause;
创建测试数据表:
- create table tj_test(id number,name varchar2(20),age number);
向表中插入数据:
- insert into tj_test values (1,'jan',23);
- insert into tj_test values (2,'kk',22);
- insert into tj_test values (3,'joe',27);
- select * from tj_test;
查询结果如下:
1 jan 23
2 kk 22
3 joe 27
创建另一新表
- create table tj_test1 as select * from tj_test where 1=0
插入一条数据
- insert into tj_test1 values (1,'jlk',23);
- select * from tj_test1
查询结果如下:
1 jkl 23 --注意,这里的的NAME字段中的值是jkl
Oracle merge into用法使用MERGE,实现有则更新,无则插入,sql语句如下:
- merge into tj_test1 tt1
- using tj_test tt
- on (tttt1.id=tt.id)
- when matched then
- update set
- tttt1.name=tt.name,
- tttt1.age=tt.age
- when not matched then
- insert values(
- tt.id,
- tt.name,
- tt.age)
查询tj_test1表(对比原来表中的数据,更新了ID=1 ROW中字段NAME,同时多出两条新数据)
- select * from tj_test1
改变行数据如下:
1 jan 23 --这里的原有jkl值被更新
3 joe 27 --原来表中没有的插入
2 kk 22 --原来表中没有的插入
如果存在就更新,不存在就插入
9i已经支持了,是Merge,但是只支持select子查询,
如果是单条数据记录,可以写作select …… from dual的子查询。
语法为:
- MERGE INTO table
- USING data_source
- ON (condition)
- WHEN MATCHED THEN update_clause
- WHEN NOT MATCHED THEN insert_clause;
如:
- MERGE INTO course c
- USING (SELECT course_name, period,
- course_hours
- FROM course_updates) cu
- ON (c.course_name = cu.course_name
- AND c.period = cu.period)
- WHEN MATCHED THEN
- UPDATE
- SET c.course_hours = cu.course_hours
- WHEN NOT MATCHED THEN
- INSERT (c.course_name, c.period,
- c.course_hours)
- VALUES (cu.course_name, cu.period,
- cu.course_hours);
以上的相关内容就是对Oracle merge into用法及例子的介绍,望你能有所收获。
转载于:https://www.cnblogs.com/fangquan/p/3965667.html
Oracle merge into用法以及相关例子示例相关推荐
- oracle 实例用法,Oracle merge into用法以及相关例子示例
以下的文章主要是对Oracle merge into用法以及相关例子的介绍,首先我们以Oracle 9I中加入MERGE入手,以下就是文章的具体内容的分析,希望你浏览完之后会给你带来一些帮助在此方面. ...
- oracle merge into 用法详解
1.MERGE INTO 的用途 MERGE INTO 是Oracle 9i以后才出现的新的功能.那这个功能 是什么呢? 简单来说,就是:"有则更新,无则插入" 从这句话里, ...
- oracle merge into insert,Oracle Merge Into 用法
语法: MERGE [INTO [schema .] table [t_alias] USING [schema .] { table | view | subquery } [t_alias] ON ...
- java oralce merge_mybatis 使用oracle merge into 语句踩坑实录(示例代码)
SELECT to_char(sysdate,'yyyymmdd')||seq_dr_bcxx.nextval AS ID FROM dualMERGE INTO dr_doc_info doc US ...
- oracle中的merge into用法解析
oracle中的merge into用法解析 merge into的形式 MERGE INTO [target-table] A USING [source-table sql] B ON([cond ...
- Oracle Merge Into 的用法详解实例
Oracle merge into 的用法详解实例 作用:merge into 解决用B表跟新A表数据,如果A表中没有,则把B表的数据插入A表: 语法: MERGE INTO [your table- ...
- oracle merge into 优化,ORACLE 10g 的 merge into用法
在Oracle 10g之前,merge语句支持匹配更新和不匹配插入2种简单的用法,在10g中Oracle对merge语句做了增强,增加了条件选项和DELETE操作.下面我通过一个demo来简单介绍一下 ...
- ORACLE 10 g的 merge into 用法
查看原文:http://www.ibloger.net/article/244.html 在Oracle 10g之前,merge语句支持匹配更新和不匹配插入2种简单的用法,在10g中Oracle对me ...
- 常见 Oracle HINT 的用法
Hint 是Oracle 提供的一种SQL语法,它允许用户在SQL语句中插入相关的语法,从而影响SQL的执行方式. Oracle 19c HINT Comments https://docs.ora ...
- oracle中%type用法,oracle中declare用法
第8 章 函数与存储过程 Oracle数据库中不仅可以使用单条语句对数据库进行 数据库中不仅可以使用单条语句对数据库进行 查操作,而且可以多条语句组成一个语句块, 增.删.改.查操作,而且可以多条语句 ...
最新文章
- android资源目录---assets与res/raw区别
- 论文,质量管理+进度管理(主质量)
- windows下如何查看磁盘IO性能
- 建立副本名称冲突_包的建立(一)
- Django中的request和response
- Merry Christmas!看甜点海报如何庆祝圣诞
- mysql中 REPLACE INTO 和 INSERT INTO 的区别
- 啥是前端开发工程师必会的5种网页布局方法?
- docker 之镜像制作dockerfile
- 把tif文件转化成jpg格式报错已解决
- wordpress最佳架构_动物和宠物的24个最佳WordPress主题
- 2019 谷歌dat.GUI组件对中文的支持
- python有像sumif的函数吗_最全的SUMIF函数用法,小白秒变老司机
- 股票交易接口-Java封装
- 2008年买书流水账
- Flink优化01---资源配置调优
- 华为虚拟服务器密码忘记怎么办,手机云服务器密码忘记了
- jsf 教学_JSF初学者教程
- 申诉解决TeamViewer免费个人版被误判为商业使用
- 深入理解Android Crash 流程
热门文章
- xml突然变成空白_真实职场故事:开会时候,被领导突然提问,我差点被开除了...
- 发的楷体怎么写_小学生硬笔书法怎么练
- oracle processes 的大小,Oracle中sessions和processes的大小关系(10g和11g不同)
- 算法:分离链表为两部分,小于某个值都在左边,大于等于某个值在右边 Partition List
- php xml构造,C++_C语言实现xml构造解析器,纯C实现xml构造解析器,所有实 - phpStudy...
- 找零钱问题系列之记忆搜索
- http协议详解(超经典)
- 2020 快手 被吊打面经
- 找出两个矩阵不同的元素_推荐系统传统推荐模型之矩阵分解
- EDSR dataloader.py代码问题