求一段SQL UPDATE 语句, 达到批量修改效果

表A
COLUMN1 COLUMN 2
ID1 VALUE1
ID2 VALUE2
ID3 VALUE3
表B
COLUMN1 COLUMN 2
ID1 NULL
ID2 NULL
ID3 NULL

求一段UPDATE SQL,把表A COLUMN2里的值,复制到表B对应的ID那一行的COLUMN 2里头。
最新回答
墨尘花舞影

2024-10-17 08:37:18

merge into tableB b using tableA a on (a.COLUMN1=b.COLUMN2)
when matched then update set b.COLUMN2=a.COLUMN2
追问
可以用类似下面几个标准UPDATE这样的用法吗?
我试了几下,都是报错:
SQL Error: ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
*Cause:
*Action:
追答
这个效率比update高的多
蘇瑾熙

2024-10-17 10:37:36

update 表B
set column2=(select column2 from 表A where 表A.column1=表B.column1)
别再相怀

2024-10-17 11:12:08

update B
set column2=A.COLUMN2
FROM A
WHERE A.COLUMN1=B.COLUMN1
追问
这个不对.
SQL Error: ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
幽萌之羽

2024-10-17 09:21:52

update B set column2=A.COLUMN2
from A inner join B on A.id=B.id
where B.COLUMN2 is null
小乀奶嘴

2024-10-17 13:09:18

update b set column2=a.column2
from a where a.column1=b.column1
;