使用存储过程实现进销存系统中的先进先出算法(2)――存储过程调用
2010-04-24 22:17
507 查看
本文是我在前一篇文章提到的关于先进先出存储过程的调用演示.
有关数据库和存储过程的设计,请参阅使用存储过程实现进销存系统中的先进先出算法(1)——数据库与存储过程设计
本文共用了9个测试用例 下载
数据库初始化
调用存储过程
--no.1进行入货操作,商品编号为1004191104,(售出价0,售出量0),成本价12.5,进货量100
EXEC pro_ProductSM @SorM='S',@pId='1004191104',@marketPrice=0, @marketNum=0, @stockPrice=12.5, @stockNum=100
数据库更新
注解:第一次进货,stockNo=>2, num1和cost1都变化了.
--no.2进行入货操作,商品编号为1004191104,(售出价0,售出量0),成本价13,进货量100
EXEC pro_ProductSM @SorM='S',@pId='1004191104',@marketPrice=0, @marketNum=0, @stockPrice=13, @stockNum=100
数据库更新
--no.3进行入货操作,商品编号为1004191104,(售出价0,售出量0),成本价13.5,进货量85
EXEC pro_ProductSM @SorM='S',@pId='1004191104',@marketPrice=0, @marketNum=0, @stockPrice=13.5, @stockNum=8
数据库更新
--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
本文出自 “ni掌柜的IT专栏” 博客,请务必保留此出处http://nileader.blog.51cto.com/1381108/304224
有关数据库和存储过程的设计,请参阅使用存储过程实现进销存系统中的先进先出算法(1)——数据库与存储过程设计
本文共用了9个测试用例 下载
数据库初始化
调用存储过程
--no.1进行入货操作,商品编号为1004191104,(售出价0,售出量0),成本价12.5,进货量100
EXEC pro_ProductSM @SorM='S',@pId='1004191104',@marketPrice=0, @marketNum=0, @stockPrice=12.5, @stockNum=100
数据库更新
注解:第一次进货,stockNo=>2, num1和cost1都变化了.
--no.2进行入货操作,商品编号为1004191104,(售出价0,售出量0),成本价13,进货量100
EXEC pro_ProductSM @SorM='S',@pId='1004191104',@marketPrice=0, @marketNum=0, @stockPrice=13, @stockNum=100
数据库更新
--no.3进行入货操作,商品编号为1004191104,(售出价0,售出量0),成本价13.5,进货量85
EXEC pro_ProductSM @SorM='S',@pId='1004191104',@marketPrice=0, @marketNum=0, @stockPrice=13.5, @stockNum=8
数据库更新
--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
本文出自 “ni掌柜的IT专栏” 博客,请务必保留此出处http://nileader.blog.51cto.com/1381108/304224
相关文章推荐
- 使用存储过程实现进销存系统中的先进先出算法(2)——存储过程调用
- 使用存储过程实现进销存系统中的先进先出算法(1)——数据库与存储过程设计
- 使用存储过程实现进销存系统中的先进先出算法(3)——Oracle9i版
- 使用存储过程实现进销存系统中的先进先出算法(1)――数据库与存储过程设计
- 使用存储过程实现进销存系统中的先进先出算法(3)――Oracle9i版
- MOD 10,11算法(GB/T 17710-1999 数据处理 校验码系统 ),使用javascript实现
- 使用ioctl“实现”自定义的系统调用
- 使用ioctl“实现”自定义的系统调用
- 使用otter实现MySQL跨机房双向同步 工作流程 环境 目标 名词解释 安装 配置 配置mysql 导入 manager 系统表 导入 node 同步算法依赖的系统表 管理配置 添加zookee
- 使用Neo4j和简单分词算法实现菜品推荐系统
- 使用库函数API和C代码中嵌入汇编代码两种方式实现对sysinfo的系统调用
- [转]VC中使用ADO调用存储过程实现方法
- 不调用具有"协程特性"的系统API函数而使用汇编实现协程
- linux下使用系统调用编程实现copy命令功能
- linux下使用系统调用编程实现dir命令功能
- [CodeProject每日一荐]实现Double Metaphone语音匹配算法[三,四] VBScript调用COM;存储过程实现及高级话题
- IE下使用js调用系统activex实现文件下载
- SQL 使用系统存储过程实现的通用分页存储过程
- VC中使用ADO调用存储过程实现方法
- linux下使用系统调用实现进程后台运行