SQL 插入判断语句 5

有三个表,PRODUCT,WAREHOUSE,WAREINPUT各对应产品表、库存表、入库明细表;我现在入库,判断产品表、和库存表不重就插入,重复就更新数据。怎么来实现这... 有三个表,PRODUCT,WAREHOUSE,WAREINPUT各对应产品表、库存表、入库明细表;
我现在入库,判断产品表、和库存表不重就插入,重复就更新数据。怎么来实现这个判断。
我意思是,能否用一条SQL语句来进行判断,例如[case when 重复 update 数据 then insert 数据 end;
不知道这种格式能否实现
展开
 我来答
wforce
2010-07-05 · TA获得超过843个赞
知道小有建树答主
回答量:672
采纳率:0%
帮助的人:788万
展开全部
--以产品表为例,有产品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等语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wannalcxl
2010-07-05 · TA获得超过259个赞
知道小有建树答主
回答量:640
采纳率:0%
帮助的人:622万
展开全部
if rs.recordcount>0 then
有重复数据
rs.update

else
没有重复数据
rs.addnew

end if
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式