首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

批量更新解决办法

2012-04-24 
批量更新select a.mp_idmp_id,a.org_nomp_org,b.org_nometer_org,b.meter_id meter_id,d.cons_nocons_nofr

批量更新
select a.mp_id mp_id,
  a.org_no mp_org,
  b.org_no meter_org,
  b.meter_id meter_id,
  d.cons_no cons_no
  from c_mp a, c_meter b, c_meter_mp_rela c, c_cons d
 where a.mp_id = c.mp_id
  and b.meter_id = c.meter_id
  and a.cons_id = d.cons_id
  and a.org_no <> b.org_no;

如果length(a.org_no)>length(b.org_no)的话,则更新C_METER里面的ORG_NO更新成C_MP的ORG_NO,这个批量更新语句该怎么写

[解决办法]
merge into c_meter b
using (select a.org_no , c.meter_id
from c_mp a, c_meter_mp_rela c
where a.mp_id = c.mp_id) a
on b.meter_id = a.meter_id
when matched then
update set b.org_no = a.org_no where length(a.org_no) > length(b.org_no)

热点排行