ORACLE UPDATE 多表关联的update语句

多表关联更新,非常实用的SQL实现

update tr_plan_2_u a
 set hash_value=( select hash_value from tr_plan_2 where rowid='AAAbYGAAEAAEIpDAAB') 
where exists (select 1 from tr_plan_2 b where 
 a.p_year=b.p_year and a.p_month=b.p_month and a.erp_id=b.erp_id
and b.rowid='AAAbYGAAEAAEIpDAAB') 

还可以多字段更新,下面示例来自 https://blog.csdn.net/hgffhh/article/details/84192260

   update customers a  
   set    (city_name,customer_type)=(select b.city_name,b.customer_type 
                                     from   tmp_cust_city b 
                                     where  b.customer_id=a.customer_id)
   where  exists (select 1 
                  from   tmp_cust_city b
                  where  b.customer_id=a.customer_id
                 )

 

上一篇:[ZJOI2013]K大数查询


下一篇:文艺平衡树