永发信息网

oracle merge 条件 什么都不做 语法

答案:2  悬赏:20  手机版
解决时间 2021-02-22 03:23
  • 提问者网友:了了无期
  • 2021-02-21 17:43
oracle merge 条件 什么都不做 语法
最佳答案
  • 五星知识达人网友:不如潦草
  • 2021-02-21 18:31
merge into dept60_bonuses b --更新dept60_bonuses b表
using ( --用select表内容
select employee_id, salary, department_id
from hr.employees
where department_id = 60) e--用e表内容更新dept60_bonuses b表
on (b.employee_id = e.employee_id) --更新条件 即哪更新
when matched then --符合面on条件
update set b.bonus_amt = e.salary * 0.2 --更新setb.bonus_amt = e.salary * 0.2
where b.bonus_amt = 0 --满足更新条件
delete where (e.salary > 7500) --更新同做删除
when not matched then --满足on条件
insert (b.employee_id, b.bonus_amt) --做insert操作
values (e.employee_id, e.salary * 0.1)
where (e.salary < 7500);
给merge用:

merge用:

merge通用于match做事 match做事
merge into TABLE_A T1 --TABLE_A表需要更新表

using TABLE_E T2 -- 用于更新表表

on (T1.USERID=T2.USERID) --两表间更新条件
when matched then --匹配关联条件作更新处理

update set

T1.USERPASSWORD=T1.USERPASSWORD+ 1,

T1.USERNAME=T2.USERNAME --处说明同更新字段

when not matched then --匹配关联条件作插入处理作更新面语句省略

insert values ( T2.USERID,T2.USERNAME, T2.USERPASSWORD);
全部回答
  • 1楼网友:爱难随人意
  • 2021-02-21 19:12
上面的形式,用and
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯