试试这个:
merge into a
using (select a.a_id,b.b_id,c.c_id,d.d_id
from a left join b on a.a_id=b.a_id
left join c on a.a_id=c.a_id
left join d on a.a_id=d.a_id
where coalesce(b.a_id,c.a_id,d.a_id) is not NULL) t
on (a.a_id=t.a_id)
when matched then
update
set a.b_id=t.b_id,
a.c_id=t.c_id,
a.d_id=t.d_id ;
|