liangjianshi
技术员
帖子
280
精华
0
无忧币 577
积分 415
阅读权限 30
|
发表于:2007-9-26 17:54
该回复被 liangjianshi 奖励 20 点无忧币
此回复于2007-10-09 09:05被 redking 评为最佳答案
declare @b varchar(3),@d int
select @b='ab',@d=100
declare @char1 varchar(10),@char2 int,@sum int
select @sum=sum(库存数据) from input where 代号=@b
if @sum<@d
begin
print '总数不足'
end
else
begin
print '可以完成'
select @char1=min(入库时间),@char2=min(库存数据)
from
(
select 入库时间,(select sum(库存数据) from input where 代号=a.代号 and 入库时间<=a.入库时间)as 库存数据
from input a
where 代号=@b
)a
where 库存数据>=@d
--用于显示发货的批次明细
select 代号,批次,库存数据,入库时间 from input where 入库时间<@char1 and 代号=@b union all select 代号,批次,库存数据-(@char2-@d) as 库存数据,入库时间 from input where 入库时间=@char1 and 代号=@b
--修改批次库存数量
update input set 库存数据=0 where 入库时间<@char1 and 代号=@b
update input set 库存数据=@char2-@d where 入库时间=@char1 and 代号=@b
end
这个效率怎么样?
|
 网络工程师到底该不该去考CCIE认证? |
|