本文是我在前一篇文章提到的关于先进先出存储过程的调用演示.
有关数据库和存储过程的设计,请参阅使用存储过程实现进销存系统中的先进先出算法(1)——数据库与存储过程设计
本文共用了9个测试用例 下载
数据库更新
注解:第一次进货,stockNo=>2, num1和cost1都变化了.
数据库更新
数据库更新
--no.4进行入货操作,商品编号为1004191104,(售出价0,售出量0),成本价14,进货量60
EXEC pro_ProductSM @SorM='S',@pId='1004191104',@marketPrice=0, @marketNum=0,@stockPrice=14, @stockNum=60
数据库更新
--no.5进行入货操作,商品编号为1004191104,(售出价0,售出量0),成本价12,进货量80
EXEC pro_ProductSM @SorM='S',@pId='1004191104',@marketPrice=0, @marketNum=0, @stockPrice=12, @stockNum=80
数据库更新
--no.6进行入货操作,商品编号为1004191104,(售出价0,售出量0),成本价20,进货量10
EXEC pro_ProductSM @SorM='S',@pId='1004191104',@marketPrice=0, @marketNum=0, @stockPrice=20, @stockNum=10
数据库更新
注解,至此,所有仓库已满.
--no.7进行入货操作,商品编号为1004191104,(售出价0,售出量0),成本价75,进货量85
EXEC pro_ProductSM @SorM='S',@pId='1004191104',@marketPrice=0, @marketNum=0, @stockPrice=75, @stockNum=85
数据库没有更新
注解,此时不能继续进货了.
--no.8进行售货操作,商品编号为1004191104,售出价13,售出量90,(成本价0,进货量0)
EXEC pro_ProductSM @SorM='M',@pId='1004191104',@marketPrice=13, @marketNum=90, @stockPrice=0, @stockNum=0
数据库更新
这是一个出售操作,由于第一个仓库中已经可以满足需求,所以第一个仓库拿出90件,剩余10件,
利润计算 (13-12.5)*90 = 45.00
--no.9进行售货操作,商品编号为1004191104,售出价13.5,售出量20,(成本价0,进货量0)
EXEC pro_ProductSM @SorM='M',@pId='1004191104',@marketPrice=13.5, @marketNum=20, @stockPrice=0, @stockNum=0
数据库更新
这次由于第一个仓库中只有10个了,没有满足所需的20件,所以先把第一个仓库中的10件卖掉,然后第二个仓库在卖10件,并且marketNo=>2
利润计算 (13.5-12)*10 +(13.5-13)*10 = 10.00+5.00