表C:Cid Cname
001 aa
002 bb
003 cc--------------------
表A:Aid Aname
003 tt
004 dd
005 bb
--希望能用一条sql执行添加时,如果Cid已经存在,则更新对应的Cname,否则就新增Error:
insert into C (Cid,Cname)
select Aid,Aname from A--如果Cid已存在,则更新Cname,否则就添加:
--根据商品的记录得到的结果应该是:Cid Cname
001 aa
002 bb
003 tt
004 dd
005 bb
001 aa
002 bb
003 cc--------------------
表A:Aid Aname
003 tt
004 dd
005 bb
--希望能用一条sql执行添加时,如果Cid已经存在,则更新对应的Cname,否则就新增Error:
insert into C (Cid,Cname)
select Aid,Aname from A--如果Cid已存在,则更新Cname,否则就添加:
--根据商品的记录得到的结果应该是:Cid Cname
001 aa
002 bb
003 tt
004 dd
005 bb
参考:
http://blog.csdn.net/qianjin036a/article/details/6136588
update C
set Aname=a.Aname
from A inner join C on a.Aid=c.Cidinsert into C (Cid,Cname)
select a.Aid,a.Aname
from A left join C on a.Aid=c.Cid
where c.Cid is null分兩條寫
两条sql的话,应该怎么实现呢,新增和更新都是批量的