oracle怎么用一个表的多个字段数据更新另一个表相应的字段中
展开全部
需要更新的表设为表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中
这里要注意,这两个表中字段名可以不同,但两表的数据类型要相同。
你可以先用别的表试下
可以用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中
这里要注意,这两个表中字段名可以不同,但两表的数据类型要相同。
你可以先用别的表试下
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询