高手帮帮忙
数据库里面创建一个存储过程,
CREATE PROCEDURE dbo.proc_newSale
( @shoeID varchar(50),@colocID varchar(50),@CmdNOID int,@rateID int)
AS
if ...如果插入的 "名称,颜色,尺寸 "是一样的那就用update,如果是不一样的那就用insert;;;;那请问要在这边怎么做判断呢`??
begin transaction
insert 库存表(名称,颜色,尺寸,价格) values(@shoeID,@colocID,@CmdNOID,@rateID )
else ..就执行下面的代码..
update 库存表
set 数量=数量+@quantity
where 名称=@shoeid and 颜色=@colocID and 尺寸=@CmdNOID
if @@error <> 0
begin
raiserror( '发生错误 ',16,1)
rollback tran
return
end
commit tran
RETURN
[解决办法]
if 0=(select count(*) from 库存表 where 名称=@shoeID and 颜色= @colocID and 尺寸=@CmdNOID)
insert 库存表(名称,颜色,尺寸,价格)values(@shoeID,@colocID,@CmdNOID,@rateID )
else
update 库存表
set 数量=数量+@quantity
where 名称=@shoeid and 颜色=@colocID and 尺寸=@CmdNOID
[解决办法]
if exists(select 1 from 库存表 where 名称=@shoeID and 颜色= @colocID and 尺寸=@CmdNOID)
insert 库存表(名称,颜色,尺寸,价格)values(@shoeID,@colocID,@CmdNOID,@rateID )
else
update 库存表
set 数量=数量+@quantity
where 名称=@shoeid and 颜色=@colocID and 尺寸=@CmdNOID