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

时间:2021-12-20 13:08:05
比如表A,表B有一个共同字段

怎么将B的多个字段的值更新到A的字段中

10 个解决方案

#1


表A和表B有很多个共同的字段,有一个共同的ID

怎么能把表B的数据更新到表A

#2


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

#3


引用 2 楼 bw555 的回复:
update A
SET (C1,C2,C3,C4)=(SELECT C1,C2,C3,C4 FROM B WHERE ID=A.ID)


+1 oracle怎么用一个表的多个字段数据更新另一个表相应的字段中
根据实际情况考虑增加exists条件
或使用merge

#4


来个merge: oracle怎么用一个表的多个字段数据更新另一个表相应的字段中

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

#5


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;

#6


引用 3 楼 wildwave 的回复:
Quote: 引用 2 楼 bw555 的回复:

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


+1 oracle怎么用一个表的多个字段数据更新另一个表相应的字段中
根据实际情况考虑增加exists条件
或使用merge


+1,exists条件是必要的。

#7


分不多,还望海涵~

#8


引用 2 楼 bw555 的回复:
update A
SET (C1,C2,C3,C4)=(SELECT C1,C2,C3,C4 FROM B WHERE ID=A.ID)


简单明了,厉害!崇拜

#9


匹配不上的记录不是更新为NULL了

#10


楼上只说了字段共同的情况,如果表A和表B 字段不一致能如何处理?
怎么能把表B的数据更新到表A

#1


表A和表B有很多个共同的字段,有一个共同的ID

怎么能把表B的数据更新到表A

#2


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

#3


引用 2 楼 bw555 的回复:
update A
SET (C1,C2,C3,C4)=(SELECT C1,C2,C3,C4 FROM B WHERE ID=A.ID)


+1 oracle怎么用一个表的多个字段数据更新另一个表相应的字段中
根据实际情况考虑增加exists条件
或使用merge

#4


来个merge: oracle怎么用一个表的多个字段数据更新另一个表相应的字段中

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

#5


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;

#6


引用 3 楼 wildwave 的回复:
Quote: 引用 2 楼 bw555 的回复:

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


+1 oracle怎么用一个表的多个字段数据更新另一个表相应的字段中
根据实际情况考虑增加exists条件
或使用merge


+1,exists条件是必要的。

#7


分不多,还望海涵~

#8


引用 2 楼 bw555 的回复:
update A
SET (C1,C2,C3,C4)=(SELECT C1,C2,C3,C4 FROM B WHERE ID=A.ID)


简单明了,厉害!崇拜

#9


匹配不上的记录不是更新为NULL了

#10


楼上只说了字段共同的情况,如果表A和表B 字段不一致能如何处理?
怎么能把表B的数据更新到表A