Oracle merge
来源:互联网 发布:手机淘宝有降价通知吗 编辑:程序博客网 时间:2024/05/16 10:54
Oracle9i引入了MERGE命令,你能够在一个SQL语句中对一个表同时执行inserts和updates操作. MERGE命令从一个或多个数据源中选择行来updating或inserting到一个或多个表.在Oracle 10g中MERGE有如下一些改进:
1、UPDATE或INSERT子句是可选的
2、UPDATE和INSERT子句可以加WHERE子句
3、在ON条件中使用常量过滤谓词来insert所有的行到目标表中,不需要连接源表和目标表
4、UPDATE子句后面可以跟DELETE子句来去除一些不需要的行
首先创建示例表:
create table PRODUCTS
(
PRODUCT_ID INTEGER,
PRODUCT_NAME VARCHAR2(60),
CATEGORY VARCHAR2(60)
);
insert into PRODUCTS values (1501, 'VIVITAR 35MM', 'ELECTRNCS');
insert into PRODUCTS values (1502, 'OLYMPUS IS50', 'ELECTRNCS');
insert into PRODUCTS values (1600, 'PLAY GYM', 'TOYS');
insert into PRODUCTS values (1601, 'LAMAZE', 'TOYS');
insert into PRODUCTS values (1666, 'HARRY POTTER', 'DVD');
commit;
create table NEWPRODUCTS
(
PRODUCT_ID INTEGER,
PRODUCT_NAME VARCHAR2(60),
CATEGORY VARCHAR2(60)
);
insert into NEWPRODUCTS values (1502, 'OLYMPUS CAMERA', 'ELECTRNCS');
insert into NEWPRODUCTS values (1601, 'LAMAZE', 'TOYS');
insert into NEWPRODUCTS values (1666, 'HARRY POTTER', 'TOYS');
insert into NEWPRODUCTS values (1700, 'WAIT INTERFACE', 'BOOKS');
commit;
1、可省略的UPDATE或INSERT子句
在Oracle 9i, MERGE语句要求你必须同时指定INSERT和UPDATE子句.而在Oracle 10g, 你可以省略UPDATE或INSERT子句中的一个. 下面的例子根据表NEWPRODUCTS的PRODUCT_ID字段是否匹配来updates表PRODUCTS的信息:
SQL>merge into PRODUCTS p
using NEWPRODUCTS np
on(p.product_id=np.product_id)
when matched then
update set p.product_name=np.product_name,p.category=np.category
when not matched then
insert (p.product_id,p.product_name,p.category)
values (np.product_id,np.product_name,np.category)
原帖地址
- oracle merge
- Oracle merge
- oracle merge
- oracle MERGE
- Oracle-Merge
- oracle之merge语法
- oracle-merge用法详解
- oracle-merge用法详解
- oracle-merge用法详解
- oracle-merge用法详解
- oracle-merge用法详解
- oracle-merge用法详解
- Oracle select --merge into:
- oracle-merge用法详解
- Oracle的MERGE用法
- oracle-merge用法
- oracle-merge用法详解
- oracle-merge用法详解
- 对自定义类实现排序的四种方法
- MS sqlserver2000 master库语言排序规则不一致导致的问题
- WAR and EAR file format
- VC6的快捷键
- B树、B-树、B+树、B*树
- Oracle merge
- code::blocks gcc wxwidgets wxsmith纠结的汉字
- 子窗口关闭时刷新父窗口
- html中的Map,area标签详解
- feeling
- Learn to speak vim – verbs, nouns, and modifiers!To move efficiently in vim, don’t try to do anythin
- 额外域控制器如何接替域控制器
- Postgresql 数据库备份与恢复
- 如何在Android模拟器上安装已下载的APK软件包