Merge into是Oracle语法,判断表中有没有符合on()条件中的数据,有了就更新数据,没有就插入数据【注意:on后面的条件一定要用()包起来】
1.条件满足就执行更新语句否则执行插入语句
merge into 目标表 a
using 源表 b
on ('两张表数据的连接条件')
when matched then update set a.name = b.name
where a.name like '%段%' -------更新语句后面可以加过滤条件
when not matched then insert (a.name) values(b.name)
2. 只做更新操作
merge into 目标表 a
using 源表 b
on ('两张表数据的连接条件')
when matched then update set a.name = b.name
where a.name like '%段%' -------更新语句后面可以加过滤条件
3. 只做插入操作
merge into 目标表 a
using 源表 b
on ('两张表数据的连接条件')
when not matched then insert (a.字段1, a.字段2 ...) values(b.字段1, b.字段2 ...)
以上都是将b表中某些字段的数据插入或者更新到b表中