您好,如果数据与表1不匹配,我想更新table2。如果以下查询中有结果,我希望对table2进行更新
Select id, name, desc
From table1
Minus
Select id, name, desc
From table2
Table1
Id, name, desc
1 bob green
2 Sam Blue
Table2
Id, name, desc
1 bob yellow
2 sam b Red
我希望table2与table1具有相同的数据
Table2
Id, name, desc
1 bob Green
2 Sam Blue
如果您希望Table2
拥有Table1
与之相同的数据,那么我建议将其截断并重新插入数据:
truncate table table2;
insert into table2(id, name, desc)
select id, name, desc
from table1;
此操作通常比一堆更新要快。
编辑:
在Oracle中,您可以使用merge
以下字段或将其设置为:
update table2
set (name, desc) = (select name, desc from table1 where table1.id = table2.id);
如果愿意,可以添加:
where (name, desc) <> (select name, desc from table1 where table1.id = table2.id)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句