当前位置: 代码迷 >> Oracle开发 >> oracle如何用一个表的多个字段数据更新另一个表相应的字段中
  详细解决方案

oracle如何用一个表的多个字段数据更新另一个表相应的字段中

热度:79   发布时间:2016-04-24 06:34:33.0
oracle怎么用一个表的多个字段数据更新另一个表相应的字段中
比如表A,表B有一个共同字段

怎么将B的多个字段的值更新到A的字段中
------解决思路----------------------
update A
SET (C1,C2,C3,C4)=(SELECT C1,C2,C3,C4 FROM B WHERE ID=A.ID)

------解决思路----------------------
引用:
update A
SET (C1,C2,C3,C4)=(SELECT C1,C2,C3,C4 FROM B WHERE ID=A.ID)


+1
根据实际情况考虑增加exists条件
或使用merge
------解决思路----------------------
来个merge:

merge into A using B on (A.ID=B.ID)
when matched then
update set A.C1=B.C1,A.C2=B.C2....

------解决思路----------------------
update (select a.C1, a.C2, b.c1, b.c2 from a join b using (id))
   set a.c1 = b.c1, a.c2 = b.c2;
------解决思路----------------------
引用:
Quote: 引用:

update A
SET (C1,C2,C3,C4)=(SELECT C1,C2,C3,C4 FROM B WHERE ID=A.ID)


+1
根据实际情况考虑增加exists条件
或使用merge


+1,exists条件是必要的。
  相关解决方案