- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
任务3 进销存系统数据维护
《基于工作任务的SQL Server 2008数据库应用》;综合应用存储过程和触发器实现复杂的业务逻辑,简化系统数据维护工作。
掌握利用存储过程和触发器实现维护数据的安全性
培养学生分析问题、解决问题的能力;在超市进销存系统中,用户在进货和出货时,要保证商品数量、名称等信息和库存的信息一致,保证超市业务的正常往来。
进货管理:采购人员购买商品,将商品登记入库,更新数据库的库存信息。
入库管理:
将商品按照一定规则编码,进行分类管理。
盘点库存:即对系统中商品信息进行整理,修正有差错的信息,以保证数据的实时性和有效性。
销售商品后,要更新库存。;(1)采购员采购商品后及时录入商品信息,并在数据库中进行数据更新。
(2)在收银台处,由于商品买卖导致数据库信息的变化(此时注意数据库的并发控制),如卖出商品的名称、编号、数量、价格、销售日期等,都需及时录入数据库。
(3)当货架上的商品减少到一定数量时,要发出提货报告或通知,需要在存货中提取一定量的商品,并进行库存信息的更新及数据库内部的商品情况的评价。
(4)当商品出现损坏或是人为条件的丢失,造成商品数量的减少时,及时录入这些信息并更新到数据库。;(5)在用户要求或需要的情况下,定期对商品信息进行统计汇总,当商品数量少于某个规定值时,产生报警信息,提醒用户补充货物,并提供详细的缺货信息。
(6)根据分析,得出以下超市业务及数据信息:
商品信息:商品编号、商品名称、商品单位、商品单价、类别、产地及说明等。
进货信息:进货编号、商品编号、进货单价、进货数量、进货时间、经手人、供货单位等。
出货信息:出货编号、商品编号、出货单价、出货数量、出货时间、经手人、接收人及说明等。
库存信息:商品编号、库存说明等。;(7)进一步分析任务,梳理出表结构和表间的关系。;学生复习触发器和存储过程的相关知识
学生分析一个实际的进销存案例,熟悉进销存业务逻辑
教师讲解超市进销存的主要业务
学生分组讨论超市进销存业务需求、数据的一致性和安全性问题
利用触发器和存储过程实现超市进销存业务逻辑
根据学生讨论的超市进销存结果,教师进行点评;教师分析数据库
确定使用哪几个表,以及各表存储的数据信息
教师讲解并分析解题思路
学生编写数据查询语句
调试语法错误和程序逻辑错误
运行程序,查看查询结果;--创建清单库存存储过程
CREATE PROCEDURE SELECT_PRODUCT
--定义进货日期
@INDATE VARCHAR(50) ,
--定义商品编号
@INNO VARCHAR(50) ,
--定义库存,OUTPUT指定该变量用来作为输出
@STOCK INT OUTPUT;AS
SELECT @STOCK = STOCKCOUNT
FROM PRODUCTSTOCK
WHERE PID IN (
SELECT PID FROM INPRODUCT
WHERE INTIME = @INDATE
AND INNO = @INNO
)
GO;--使用SELECT_PRODUCT存储过程清点指定日期、编号的库存
--定义库存变量
DECLARE @STOCK INT
--定义进货日期变量
DECLARE @INDATE VARCHAR(50)
--定义入库编号
DECLARE @INNO VARCHAR(50)
--设定入库时间和入库编号,根据入库编号和时间情况该商品的库存
SET @INDATE = 2009-1-5
SET @INNO = PRO02;EXEC SELECT_PRODUCT @INDATE,@INNO,@STOCK OUTPUT
PRINT 进货日期为+
CONVERT(VARCHAR(50),@INDATE)+
,进货编号为+
CONVERT(VARCHAR(50),@INNO)+
的总库存现在为+
CONVERT(VARCHAR(50),@STOCK)
GO;CREATE TRIGGER TRIG_INPRODUCT
ON INPRODUCT
FOR INSERT
AS
--定义入库数量变量
DECLARE @INCOUNT INT
--定义商品编号变量
DECLARE @PID VARCHAR(50)
--定义标识变量,0表示没有某商品,1表示已经存在某商品
DECLARE @HASINNO INT;--初始化
SET @HASINNO = 0
SELECT @INCOUNT = INCOUNT ,@PID = PID
FROM INSERTED
SELECT @HASINNO = COUNT(*)
FROM PRODUCTSTOCK
WHERE PID = @PID;--如果入库时存在该商品,更新库存
IF(@HASINNO
您可能关注的文档
- 4电子图书与选题教程.ppt
- 交流电第7节.ppt
- 云计算与大数据的媒体应用.pptx
- 五方通话中性GSM说明书.doc
- 4移动通信2教程.pptx
- 交流发电机充电系故障判断与排除.ppt
- 4空间表达变换分析教程.ppt
- 4章新贸易理论教程.ppt
- 二房一厅智能家居系统设备配置方案说明.doc
- 产品搬运和防护程序.doc
- 鲁教版(五四制)6年级数学下册期末试题及完整答案详解【典优】.docx
- 鲁教版(五四制)6年级数学下册期末试题及答案详解【基础+提升】.docx
- 鲁教版(五四制)6年级数学下册期末试题及一套参考答案详解.docx
- 鲁教版(五四制)6年级数学下册期末试卷附完整答案详解(必刷).docx
- 鲁教版(五四制)6年级数学下册期末试卷附完整答案详解(必刷).docx
- 鲁教版(五四制)6年级数学下册期末试卷附完整答案详解(必刷).docx
- 鲁教版(五四制)6年级数学下册期末试卷及参考答案详解(预热题).docx
- 鲁教版(五四制)6年级数学下册期末试卷附参考答案详解(轻巧夺冠).docx
- 鲁教版(五四制)6年级数学下册期末试卷附答案详解(达标题).docx
- 鲁教版(五四制)6年级数学下册期末试卷附完整答案详解(必刷).docx
最近下载
- 银行零星装饰维修 投标方案(技术方案).docx
- 2024年民航安全检查员(五级)资格理论考试题库(重点500题).pdf VIP
- 挫而不折+破茧成蝶+——挫折教育主题班会课件.pptx VIP
- 人教版地理七年级下册7.2《亚洲人文环境》教学课件.pptx VIP
- 医院手外科进修汇报.pptx
- 慢性肾衰竭病人的护理【共34张PPT】.pptx VIP
- 鹅卵石道路的铺装步骤与方法.doc VIP
- 上海科技大学毕业答辩PPT模板.pptx VIP
- 人教版七年级地理下学期7.2《亚洲的人文环境》第1课时课件.pptx VIP
- 四年级数学下册第七单元《奇异的克隆牛小数加减法》单元备课教案青岛版六三制.pdf
文档评论(0)