有两个名为TEST1和TEST2的表,每个表都有两列,ID和NAME如下所示。
TEST1
ID NAME
1 BOB
2 MIKE
3 TOM
4 TAMA
TEST2
ID NAME
1 RAMIN
2 RAHIM
3 RONA
4 ZAK
6 ZENO
7 YOURA
8 SONE
我想用TEST2(NAME)更新表TEST1(NAME)列如果表TEST1中的ID与表TEST2中的ID匹配,则列值。
在查询下运行将导致此错误消息" ORA-00933:SQL命令未正确结束"
UPDATE tbl_test1
SET tbl_test1.NAME = tbl_test2.NAME
FROM tbl_test1
INNER JOIN tbl_test2
ON tbl_test1.id = tbl_test2.id
答案 0 :(得分:0)
最好使用MERGE
:
merge into tbl_test1 t
using tbl_test2 t2 on (t.id = t2.id)
when matched then
update set t.name = t2.name;