需要更新的表设为表1,数据表为表2,不知道你是要把表2的数据全部更新到表1中还是只更新表1中的部分字段。 可以用merge语句。 merge into 表1 a using 表2 b on (表1和表2的关系,例表1id =表2id) where matched then update set a.要修改的字段1 = b.要修改的字段1,a.要修改的字段2 = b.要修改的字段2,等等 --这里是将表表一的数据和表2做对比,更新条件是两表的id相同,当满足条件时,执行修改语句,将表1的数据字段改写为表2的 where not matched then insert values(表2字段1,表2字段2,等等); --这里是如果不满足条件,执行增加语句,将表2的数据插入到表1中 这里要注意,这两个表中字段名可以不同,但两表的数据类型要相同。 你可以先用别的表试下
updatet table1 set (name,sex,age)=(select name,sex,age from table2 t2 where t2. id=table1.id) where exists(select 1 from table2 t3 where table3.id= table1.id)