Oracle 融合语句Merge
来源:互联网 发布:软件系统升级改造方案 编辑:程序博客网 时间:2024/05/01 19:13
一。语法
MERGE INTO table_name table_alias
USING (table|view|sub_query) alias
ON (join condition)
WHEN MATCHED THEN
UPDATE SET
col1 = col_val1,
col2 = col2_val
WHEN NOT MATCHED THEN
INSERT (column_list)
VALUES (column_values);
二。列子 建立实验表,e1和e2表中有重复的人,但工资不同
SQL> select * from e1;
EMPNO ENAME SAL
---------- ---------- ----------
7782 CLARK 2450
7839 KING 5000
7934 MILLER 1300
SQL> select * from e2;
EMPNO ENAME SAL
---------- ---------- ----------
7369 SMITH 900
7566 JONES 3075
7782 CLARK 2550
7839 KING 5100
7902 FORD 3100
merge into e1 using e2 on(e1.empno=e2.empno)
when matched then
update set e1.sal=e2.sal
when not matched then
insert values(e2.empno,e2.ename,e2.sal);
commit;
执行结果:
SQL> SELECT * FROM E1
EMPNO ENAME SAL
---------- ---------- ----------
7369 SMITH 900
7566 JONES 3075
7782 CLARK 2450
7839 KING 5000
7902 FORD 3100
7934 MILLER 1300
6 rows selected.
SQL> SELECT * FROM E2
EMPNO ENAME SAL
---------- ---------- ----------
7369 SMITH 900
7566 JONES 3075
7782 CLARK 2550
7839 KING 5100
7902 FORD 3100
7934 MILLER 1400
E1表的前两行是自己的,没有变化,后面的行是e2表追加的。
Merge是update和insert的结合体,有做upate ,没有做insert
- Oracle 融合语句Merge
- Oracle应用MERGE语句
- oracle merge语句
- Oracle-merge语句学习
- Oracle MERGE语句
- [Oracle] Merge语句
- [Oracle] Merge语句
- Oracle merge 语句
- Oracle SQL- MERGE语句
- Oracle Merge语句
- Oracle中MERGE INTO语句
- Oracle中MERGE INTO语句的使用方法
- Oracle的INSERT ALL和MERGE语句
- Oracle merge into语句的行为
- Oracle 使用MERGE INTO 语句更新数据
- Oracle-----Update语句优化之merge into
- Oracle 使用MERGE INTO 语句更新数据
- Oracle 使用MERGE INTO 语句更新数据
- Mapabc里InfoWindow自定义窗口时的关闭事件。
- 《潜伏在办公室》 作者:陆琪
- REPL
- Android Service 与 IntentService
- netfilter源码分析(3)-ipt_table表的注册
- Oracle 融合语句Merge
- 简单的正则表达式 Regex
- netfilter源码分析(4)-nf_hook_ops 钩子的注册
- 通常在C#中判断两个日期是否相等可使用DateTime的方法
- oracle 查询主表的主键被其他表作为外键参照的SQL
- 【Java常用类库】_比较器(Comparable、Comparator)笔记
- 使用GDI+进行开发的一些问题(10)
- Applet 远程调试
- netfilter源码分析(5)- ipt_do_table()函数,数据包的过滤