SQL 插入判断语句

2024-12-04 01:21:40
推荐回答(2个)
回答(1):

--以产品表为例,有产品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等语句

回答(2):

if rs.recordcount>0 then
有重复数据
rs.update

else
没有重复数据
rs.addnew

end if