两个数据表的更新问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 13:32:59
表格1
ID1 ID2 ID3 product

表格2
ID1 ID2 ID3 product

ID1 ID2 ID3 组合成复合主键,现在要把表格2的数据导入表格1
如何判断若表格1中已经存在的(以主键为判断标准)就用表格2的来更新,不存在就插入表格2的数据呢?那个SQL怎么写?

如果是批量更新用两条语句吧
update 表格1 set product=B.product from 表格2 B where 表格1.ID1=B.ID1 and 表格1.ID2=B.ID2 and 表格1.ID3=B.ID3
insert into 表格1 select * from 表格2 where convert(varchar(50),表格2.id1)+convert(varchar(50),表格2.id2)+convert(varchar(50),表格2.id3) not in(select convert(varchar(50),表格1.id1)+convert(varchar(50),表格1.id2)+convert(varchar(50),表格1.id3) from 表格1)
如果想实时更新建议在表格2上作触发器