Merge table2 as target
using table1 as source
on
target.id=source.id
When matched
Then
update
set target.id=source.id,
target.name=source.name
When not matched by Target Then
INSERT (id, name) VALUES (id, name);
मर्ज स्टेटमेंट के साथ कुछ समस्याएं हैं, इसलिए इसका उपयोग सावधानी ..
इसके अलावा, मैं नीचे की तरह दो अलग-अलग डीएमएल स्टेटमेंट के रूप में मर्ज का उपयोग करने की सलाह देता हूं ..
insert into table2
select * from table1 t1 where not exists (select 1 from table2 t2 where t2.id=t1.id)
update t2
set
t2.id=t1.id,
t2.name=t1.name
from
table1 t1
join
table2 t2
on t1.id=t2.id
कारण बताए जा रहे हैं पॉल व्हाइट यहां उनके विस्तृत उत्तर में ..