现在的位置: 首页 > 综合 > 正文

Oracle merge用法(实现多表更新插入)

2018年05月28日 ⁄ 综合 ⁄ 共 384字 ⁄ 字号 评论关闭

merge into sk_kskc a(目标表) using (select yk_ypcd.ypxh as ypxh,yk_ypcd.ypcd as ypcd,bfbz,zxbz ,lsjg
  from yk_typk ,yk_ypcd where yk_typk.ypxh=yk_ypcd.ypxh) b (数据来源)
on (a.wpxh=b.ypxh and a.wpcd=b.ypcd  
 and a.ksdm=414 and a.wplx=0) (目标与来源的条件关联)
when matched then update set a.wpdj = b.lsjg/b.zxbz * b.bfbz (匹配成功进行更新操作)

when not matched then insert (a.wpxh,a.wpcd,a.wpdj) values (b.ypxh,b.ypcd, b.lsjg/b.zxbz * b.bfbz)(匹配不成功进行插入操作);

抱歉!评论已关闭.