首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

高手帮帮忙解决办法

2012-02-23 
高手帮帮忙数据库里面创建一个存储过程,CREATEPROCEDUREdbo.proc_newSale(@shoeIDvarchar(50),@colocIDvar

高手帮帮忙
数据库里面创建一个存储过程,
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

热点排行