各位好,向大家请教个问题!
有两个表A与B,表的结构相同,都包含字段id和name,id为主键,怎样把表A的数据更新到表B中去,如果表A中的id包含在表B中,则把表A中的这条id数据更新到表B中去,如果表A中的id不包含在表B中,则把表A中的这条id数据插入到表B中去。
有两个表A与B,表的结构相同,都包含字段id和name,id为主键,怎样把表A的数据更新到表B中去,如果表A中的id包含在表B中,则把表A中的这条id数据更新到表B中去,如果表A中的id不包含在表B中,则把表A中的这条id数据插入到表B中去。
update A set A.Name=B.Name FROM A JOIN B ON A.id=B.id--插入
insert into A
SELECT B.* FROM B LEFT JOIN A ON A.id=B.id
where A.id is null
insert into B
SELECT * from A where A.id not in (select id from B)
然后做判断for(int i=0;i<ds1.Table[0].Rows.Count;i++)
{
for(int j=0;j<ds2.Table[0].Rows.Count;j++)
{
if(ds1.Table[0].Row[i]["id"]==ds2.Table[0].Row[j]["id"])
{
//update
}
else
{
//insert
}
}
}
update B set B.Name=A.Name FROM B JOIN A ON A.id=B.id--插入,如果记录多,not in效率不如join
insert into B
SELECT A.* FROM A LEFT JOIN B ON A.id=B.id
where B.id is null