--以产品表为例,有产品id为'新id',判断是update还是insert
--思路1:执行update语句,如果受影响行数为0,就执行insert
update 产品表
set 产品id = '新id'
where 产品id = '新id'
if @@rowcount = 0
begin
insert into 产品表(产品id) values('新id')
end
--思路2:先执行select语句查是否有数据,有就update,没有就insert
declare @row int
select @row = count(*) from 产品表 where 产品id = '新id'
if @row > 0
begin
update 产品表
set 产品id = '新id'
where 产品id = '新id'
end
else
begin
insert into 产品表(产品id) values('新id')
end
----
case 是一个函数,所以case只能使用在DML语句中,而不能用作执行update,insert等语句
if rs.recordcount>0 then
有重复数据
rs.update
else
没有重复数据
rs.addnew
end if