Oracle 合并 merger into
merge into copy_emp1 c
using employees e
on (c.employee_id=e.employee_id)
when matched then
update set
c.first_name=e.first_name,
c.last_name=e.last_name,
c.email=e.email,
c.phone_number=e.phone_number,
c.hire_date=e.hire_date,
c.job_id=e.job_id,
c.salary=e.salary,
c.commission_pct=e.commission_pct,
c.manager_id=e.manager_id,
c.department_id=e.department_id
when not matched then
insert values(e.employee_id,e.first_name,e.last_name,e.email,e.phone_number,
e.hire_date,e.job_id,e.salary,e.commission_pct,e.manager_id,e.department_id)
注意:被on关联的列(employee_id)不能被更新,否则会报错ORA-38104:无法
更新on子句中引用的列。
--实验
JOHN@ ora10g> select * from jobs;
JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY
---------- ------------ ---------- ----------
ad_pres vp 20000 40000
fi_account accountant 4200 9000
st_clerk stock clerk 2000 5000
it_prog programmer 4000 10000
dba db admin 4200 9000
JOHN@ ora10g> select * from jobs_acquisition;
JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY
---------- ------------ ---------- ----------
ad_pres vp 10000 40000
dba db admin 4200 9000
JOHN@ ora10g> merge into jobs j
2 using (select * from jobs_acquisition) a
3 on (j.job_id=a.job_id)
4 when matched then
5 update set
6 j.job_title=a.job_title,
7 j.min_salary=a.min_salary,
8 j.max_salary=a.max_salary
9 when not matched then
10 insert (j.job_id, j.job_title, j.min_salary, j.max_salary)
11 values (a.job_id, a.job_title, a.min_salary, a.max_salary);
JOHN@ ora10g> select * from jobs;
JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY
---------- ------------ ---------- ----------
ad_pres vp 10000 40000
fi_account accountant 4200 9000
st_clerk stock clerk 2000 5000
it_prog programmer 4000 10000
dba db admin 4200 9000
JOHN@ ora10g> select * from jobs_acquisition;
JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY
---------- ------------ ---------- ----------
ad_pres vp 10000 40000
dba db admin 4200 9000
Oracle 合并 merger into的更多相关文章
- Sun 与 Oracle 合并的未来
引言 SUN 2008 初 10 亿美元收购 MySQL Oracle 2009 年 4 月 74 亿美元收购 SUN Sun 与 Oracle 合并的未来 1,如果云计算对企业来说变得越来越重要,那 ...
- oracle 合并多个sys_refcursor
一.背景 在数据开发中,有时你需要合并两个动态游标sys_refcursor. 开发一个存储过程PROC_A,这个过程业务逻辑相当复杂,代码篇幅较长.一段时间后要开发一个PROC_B,要用PROC_A ...
- oracle合并语句
在sql server中的合并语句可以用xml path 详见http://www.cnblogs.com/codeyu/archive/2010/05/25/1743474.html 而oracle ...
- Oracle合并函数内容
--MINUS去差集,取第一个集合有的而第二集合没有的,并以第一个字段排序select t.bumenbm from T_HQ_BM t minus select b.bumenbm from t_h ...
- Oracle合并某一列
本文转载自:https://www.cnblogs.com/LeiYang5237/p/6761183.html 一.oracle11g使用listagg() within group()函数 如图一 ...
- Oracle 合并查询
8).合并查询有时在实际应用中,为了合并多个select语句的结果,可以使用集合操作符号union,union all,intersect,minus.多用于数据量比较大的数据局库,运行速度快.1). ...
- oracle合并版本
1) 添加字段,并自增 第一步:alter table TOWN add ID int 第二步:Update TOWN set id=rownum; Commit; 2) 更新表(另一张表) ...
- oracle合并查询
1). Union 该操作符用于取得两个结果集的并集.当使用该操作符时,会自动去掉结果集中重复行. 2).union all 该操作符与union相似,但是它不会取消重复行,而且不会排序. 3). I ...
- Oracle - 合并查询数据项
select c.channel, c.channel_name , s.show_type, s.show_type_name from T_CHANNEL_INFO c, T_SHOW_INFO ...
随机推荐
- BZOJ 1509 逃学的小孩(树的直径)
题意:从树上任找三点u,v,w.使得dis(u,v)+min(dis(u,w),dis(v,w))最大. 有一个结论u,v必是树上直径的两端点. 剩下的枚举w就行了. 具体不会证... # inclu ...
- 【bzoj3132】上帝造题的七分钟 二维树状数组区间修改区间查询
题目描述 “第一分钟,X说,要有矩阵,于是便有了一个里面写满了0的n×m矩阵. 第二分钟,L说,要能修改,于是便有了将左上角为(a,b),右下角为(c,d)的一个矩形区域内的全部数字加上一个值的操作. ...
- 【bzoj1858】[Scoi2010]序列操作 线段树区间合并
题目描述 lxhgww最近收到了一个01序列,序列里面包含了n个数,这些数要么是0,要么是1,现在对于这个序列有五种变换操作和询问操作: 0 a b 把[a, b]区间内的所有数全变成0 1 a b ...
- BZOJ4289 PA2012Tax(最短路)
一个暴力的做法是把边看成点,之间的边权为两边的较大权值,最短路即可.但这样显然会被菊花图之类的卡掉. 考虑优化建图.将边拆成两个有向边,同样化边为点.原图中同一条边在新图中的两个点之间连边权为原边权的 ...
- Socket_SSH-1
服务器端: import socket,os server=socket.socket() server.bind(('localhost',9999)) server.listen() while ...
- 2017中国大学生程序设计竞赛-哈尔滨站 H - A Simple Stone Game
A Simple Stone Game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Ot ...
- POJ1741:Tree——题解+树分治简要讲解
http://poj.org/problem?id=1741 题目大意:给一棵树,求点对间距离<=k的个数. ———————————————————— 以这道题为例记录一下对于树分治的理解. 树 ...
- AOJ.综合训练.2016-12-1
友情提示:不要复制粘贴,看完解析先自己尝试写一下,不行再看代码!祝AC愉快 @_@ A. 近似值计算 题意分析 根据公式,先用含有n的代数式表示出来pi,然后计算这个近似值和题目给出来的3.14159 ...
- JavaScript去除数组中的重复值
用原型函数(prototype)可以定义一些很方便的自定义函数,实现各种自定义功能. Javascript 中的原型函数(prototype)的工作原理,在 javascript 中每次声明新函数的过 ...
- Unity3D开发七惑
使用Unity3D开发也有大半年了,心中存惑如下,愿与各位开发者一起探讨: (1) 远离普适编程之惑 随着游戏引擎的不断发展,游戏程序员的开发层级也越来越高,以unity3d尤为突出.如果是进行We ...