在oracle中使用merge into实现更新和插入数据

时间:2020-01-30 10:01:07   收藏:0   阅读:116

oracle中使用merge into

DUAL表解释

使用场景

用法

单表

MERGE INTO  Student S1
USING (SELECT '1001' as sid,'张三' as name,'95' as grade FROM dual) S2 
on (S1.sid=S2.sid)
WHEN MATCHED THEN 
UPDATE SET S1.name=S2.name,S1.grade=S2.grade
WHEN NOT MATCHED THEN  
INSERT 
(S1.sid, S1.name,S1.grade) 
VALUES 
(S2.sid, S2.name,S2.grade );
--具体解释
--USING 这里是我们需要跟数据库进行比较的数据,这里传入的数据为('1001','张三','95'),为了保证USING后面的select有数据,在这里使用了dual表。
--on后面是我们要比较的条件
--WHEN MATCHED THEN 当存在学号为‘1001’这样的数据时,选择将数据库中的这条数据更新
--WHEN NOT MATCHED THEN  当不存在这条数据时,将这条数据插入到数据库中。

多表

原创不易,欢迎转载,转载时请注明出处,谢谢!
作者:潇~萧下
原文链接:https://www.cnblogs.com/manongxiao/p/12241833.html

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!