oracle 实例用法,Oracle merge into用法以及相关例子示例
以下的文章主要是对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 where1=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
ANDc.period=cu.period)
WHEN MATCHED THEN
UPDATE
SETc.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用法及例子的介绍,望你能有所收获。
【编辑推荐】
【责任编辑:孙巧华 TEL:(010)68476606】
点赞 0
oracle 实例用法,Oracle merge into用法以及相关例子示例相关推荐
- Oracle实例和Oracle数据库(Oracle体系结构)
--========================================== --Oracle实例和Oracle数据库(Oracle体系结构) --==================== ...
- ORACLE 10 g的 merge into 用法
查看原文:http://www.ibloger.net/article/244.html 在Oracle 10g之前,merge语句支持匹配更新和不匹配插入2种简单的用法,在10g中Oracle对me ...
- oracle实例由,Oracle数据库和实例
Oracle数据库服务器由一个数据库和至少一个数据库实例组成. 数据库是一组存储数据的文件,而数据库实例是一组管理数据库文件的内存结构. 另外,数据库由后台进程组成. 一个数据库和一个实例是紧密相连的 ...
- oracle实例举例,Oracle实例,具体运用
Oracle关键字的使用 使用insert 添加数据: INSERT INTO 表名 VALUES (加入对应的数); COMMIT; INSERT INTO p_emp VALUES('TO ...
- Oracle 实例(ORACLE)
接触Orcale了,概念性笔记. ----------------------------------------------------------------------------------- ...
- oracle实例文件,ORACLE实例管理之参数文件
第四章 实例管理 4.1 参数文件 4.1.1 spfile Server parameter file: spfile 数据库服务运行过程中自动维护的参数文件 oracle9i以后新引入的 ...
- oracle实例包括用户进程吗,ORACLE实例和ORACLE数据库详解(三)
e.PMON:负责在一个Oracle进程失败时清理资源. 主要用于清除失效的用户进程,释放用户进程所用的资源.如PMON将回滚未提交的工作,释放锁,释放分配给失败进程的SGA资源. f.CKPT 同步 ...
- oracle实例由,Oracle 数据库的实例由( )组成
[判断题]平均动脉压是收缩压和舒张压之和的平均值. [单选题]3. 新民主主义社会是( ) [判断题]个人个人个别 [单选题]粒子系统的创建方法有几种( ) [判断题]乘务员要善于观察,对起飞时飞机温 ...
- oracle添加已有的实例,Oracle数据库怎么添加新的实例?,oracle实例
Oracle数据库怎么添加新的实例?,oracle实例 安装Oracle时如果不指定SID,系统会默认设置为orcl,如果在安装过程中忘记修改了服务名,或者需要添加新的服务名(实例名),本文将讲述如何 ...
最新文章
- (转)(c#)数据结构与算法分析 --树
- 如何为回归问题选择最合适的机器学习方法?
- 独家 | PHM数据竞赛首个中国夺冠团队经验分享(常用模型赛题详解PPT视频)
- c# bitmap 去除噪点_黑头怎么去除最有效用盐处理的方法推荐
- [蓝桥杯2016决赛]阶乘位数-数论
- Linux基础知识之用户和用户组以及 Linux 权限管理
- 2021高考个人成绩排名查询,2021新高考八省联考实力排名:怎么查联考成绩在全省排名?...
- struts 结果类型
- onbeforeedit和onbeginedit数据不一致_深度解读,奔溃一致性、应用一致性的区别
- python中文聊天机器人_[源码和文档分享]基于python的中文聊天机器人
- C++基础::一些接口汇总
- c语言- I Love GPLT
- 华为静态路由配置案例
- 集成运算放大器及其应用
- 【爬虫】使用八爪鱼爬行百度地图美食店数据
- ASEMI双向可控硅BTA12A,详解BTA12A参数应用与特性
- 如何查看win10电脑系统盘是哪个盘?
- 十进制转换为三进制数_python3实现
- 已解决The method is not allowed for the requested URL.
- aop:aspectj-autoproxy作用