成都网站建设设计

将想法与焦点和您一起共享

mergeinto基本用法

由于merge into平时很少用,但这次用到它来给记录做插入更新,于是简单记下最基本的用法。这里的例子就是给一个表中符合条件的数据做个值计数的更新,如果找到符合ID条件的记录,那么就将其值字段加1,否则就插入这条新的记录,并初始化值。

创新互联致力于成都做网站、网站建设、外贸营销网站建设,成都网站设计,集团网站建设等服务标准化,推过标准化降低中小企业的建站的成本,并持续提升建站的定制化服务水平进行质量交付,让企业网站从市场竞争中脱颖而出。 选择创新互联,就选择了安全、稳定、美观的网站建设服务!

创建测试表并插入数据:
create table test1(id number, val number);
insert into test1 values(101, 1);
insert into test1 values(102, 1);
commit;
select * from test1;

        ID        VAL
---------- ----------
       101          1
       102          1

做merge into操作,新的一条数据被插入:
merge into test1 t1
using (select count(*) cnt from test1 where id = 103) t2 on (cnt <> 0)
when matched then
  update set val = val + 1 where id = 103
when not matched then
  insert values(103, 1);
commit;
select * from test1;

        ID        VAL
---------- ----------
       101          1
       102          1
       103          1

再执行一个merge into后,数据被更新:

        ID        VAL
---------- ----------
       101          1
       102          1
       103          2



分享名称:mergeinto基本用法
分享地址:http://chengdu.cdxwcx.cn/article/gcieci.html