merge into user用法、oracle实例

来源:互联网 发布:问答cms 编辑:程序博客网 时间:2024/06/18 07:59

user表有id,name,age三个字段。执行下面的sql:

merge into user   
using(select '12' as id,  
       '小丸子' as name,  
         '20' as age  
         from dual) t//--别名
on user.id= t.id  
when mathed then//--情形1
update set user.name=t.name ,  
           user.age=t.age  
when not matched then //--情形2
insert 
(id ,name,age)  
values  
(sys_guid(),t.name,t.age);  

=====================这条sql的作用:

1、如果user表中 有 

id为12的一条记录,

         就把它的name、age分别 更新 为 '小丸子'、20.

2、如果user表中 没有

id为12的一条记录,

      就 新增 一条内容为t的记录(id、name、age分别为sys_guid()、'小丸子'、20).

 ======================            


原创粉丝点击