oracle中merge的用法
来源:互联网 发布:乐视视频客户端mac 编辑:程序博客网 时间:2024/05/16 00:30
基本语法:
merge into a using b
on(a.id=b.id)
when matched then
update set a.value=b.value
when not matched then
insert values(value);
(注意:在oracle9i必须同时出现insert和update)
一 、10g下面的特点:
1、inser 和update可出现其中之一。
2、可对merge加条件:
merge into a using b
on(a.id=b.id)
when matched then
update set a.value=b.value
where b.id>=100;
3、可用delete子句,但是delete的条件必须放到最后,否则会报错。
merge into a using b
on(a.id=b.id)
when matched then
update a.value=b.value+100
delete where a.id=1;
二、无法在源表中获取一组稳定行时报错。如:
create table b(id number,value number);
create table a(id number,value number);
insert into b(1,100);
insert into b(1,200);
insert into b(2,300);
insert into a(1,100;)
然后执行下列语句报错ora-30926报错:
merge into a using b
on(a.id=b.id)
when matched then
update set a.value=a.value+b.value; --ora-30926报错:
如果为下列语句,则没问题:
merge into b using a on(a.id=b.id)............
三、merge中delete只能删除目标表。这个大家可以自己验证。
merge into a using b
on(a.id=b.id)
when matched then
update set a.value=b.value
when not matched then
insert values(value);
(注意:在oracle9i必须同时出现insert和update)
一 、10g下面的特点:
1、inser 和update可出现其中之一。
2、可对merge加条件:
merge into a using b
on(a.id=b.id)
when matched then
update set a.value=b.value
where b.id>=100;
3、可用delete子句,但是delete的条件必须放到最后,否则会报错。
merge into a using b
on(a.id=b.id)
when matched then
update a.value=b.value+100
delete where a.id=1;
二、无法在源表中获取一组稳定行时报错。如:
create table b(id number,value number);
create table a(id number,value number);
insert into b(1,100);
insert into b(1,200);
insert into b(2,300);
insert into a(1,100;)
然后执行下列语句报错ora-30926报错:
merge into a using b
on(a.id=b.id)
when matched then
update set a.value=a.value+b.value; --ora-30926报错:
如果为下列语句,则没问题:
merge into b using a on(a.id=b.id)............
三、merge中delete只能删除目标表。这个大家可以自己验证。
- oracle中merge的用法
- oracle中merge的用法
- oracle中merge用法
- oracle中merge用法
- Oracle中MERGE用法
- Oracle中MERGE INTO的用法
- 关于oracle中merge into的用法
- oracle 中merge into 的用法
- oracle中merge into的用法
- Oracle 中Merge into 的用法
- oracle中merge into的用法
- Oracle中Merge into 的用法
- 关于Oracle中merge的用法
- Oracle的MERGE用法
- Oracle 的 MERGE用法
- Oracle的merge用法
- oracle 中 merge 用法 【转】
- oracle 中merge into用法
- 【代码大全】第6章 可以工作的类
- 【代码大全】第7章 高质量的子程序
- 常用排序算法--堆排序
- 析构函数 设置为虚函数
- 【代码大全】第8章 防御式编程
- oracle中merge的用法
- 【代码大全】第9章 伪代码变成过程
- 【代码大全】第10章 使用变量的一般事项
- Servlet3.0提供异步处理
- 姚老板归来
- 【代码大全】第11章 变量名的力量
- oracle物化视图
- 创建大小100*100矩阵,所有数值置零,并画半径为50,中心点为(50,50)的圆
- 认识Class