网站大量收购独家精品文档,联系QQ:2885784924

任务3 进销存系统数据维护.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档