任务2 进销存系统数据查询与更新_第1页
任务2 进销存系统数据查询与更新_第2页
任务2 进销存系统数据查询与更新_第3页
任务2 进销存系统数据查询与更新_第4页
任务2 进销存系统数据查询与更新_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

进销存管理系统任务2进销存系统数据查询与更新《基于工作任务的SQLServer2008数据库应用》任务目标会根据客户需求写出简单的select查询语句会根据客户需求写出多表的连接查询会创建视图、通过视图查询需要的数据信息会创建事务,通过事务实现客户业务需求

在超市进销存管理系统中,工作人员经常要盘点系统中各物品的数量,完成入库及出库等操作。现在,超市人员要查询某些数据及实现商品入库:(1)查询入库单据号为20091215的入库单详细信息。(2)查询商品编号为Pro02的商品库存及商品详细信息。(3)查询2009年12月13日商品编号为Pro03的入库和库存信息。(4)实现商品的入库操作。客户需求任务分析分析上面的需求,需要使用数据库的简单查询、多表连接查询或子查询来获取需要的数据;也可以通过视图实现对数据的查询操作;为了保证数据的一致性,在实现商品的入库与出库操作时,可以使用事务来保证所操作数据的一致性。(1)对于第一个用户需求,需要使用简单查询即可实现。只需要从inProduct表中查询inNo等于“20011215”的数据信息。(2)对于第二个用户需求,由于用户需要查询的数据来源于两个表:product和productStock表,所以要用到两个表的连接查询,而连接字段就是商品编号。任务分析(3)对于第三个用户需求,由于要查询的信息比较复杂,而且要查询的信息来源于3个表,所以可以针对要做的查询,创建一个视图,即基于查询的虚拟表,这样以后再查询这类信息时,可以通过视图来完成。在此任务中,要创建基于查询的视图时,需要用到product、inProduct和outProduct表。(4)对于第四个用户需求,由于在实现商品入库操作时,需要向inProduct表中添加记录或者修改inProduct表中的数据,同时也需要修改入库商品的库存信息,这样就需要在productStock表中修改或添加记录,为了保证不同表中数据信息的一致性,所以需要使用事务来实现该任务。任务实施-【制定计划】通过简单查询获取单据号为20091215的入库详细信息(10分钟)。采用连接查询获取商品编号为Pro02的商品库存及商品详细信息(20分钟)。使用连接查询或者视图获取2009年12月13日商品编号为Pro03的入库、库存信息(30分钟)。使用事务实现商品的入库操作并保证库存数据的正确性(30分钟)。学生提交查询、视图、事务的SQL脚本,教师点评,学生自评。任务实施-【具体实现】获取入库单据号为20091215的入库单详细信息查询结果useppsgoselect*frominproductwhereinNo='20091215'go任务实施-【具体实现】获取商品编号为Pro02的商品库存及商品详细信息

useppsgoselectproduct.pid, --商品编号pcode, --条形码pname, --商品名称punit, --商品单位pprice, --商品单价pcategory, --商品种类stockCount --商品库存量fromproductinnerjoinproductStockonproduct.pid=productStock.pidwhereproduct.pid=’Pro02’go任务实施-【具体实现】createviewproductInfo --创建视图,以方便复杂查询asselectproduct.pid, --商品编号product.pname, --商品名称punit, --商品单位pprice, --商品单价inproduct.inTime, --入库时间stockcount=stockcount+inproduct.incount-outproduct.outcount --商品库存量fromproductinnerjoininproductonproduct.pid=inproduct.pidinnerjoinoutproductonproduct.pid=outproduct.pidinnerjoinproductstockonproduct.pid=productstock.pidgo获取2009年12月13日商品编号为Pro03的入库及库存信息select*fromproductInfowherepid='Pro03'andinTime='2009-12-13'任务实施-【具体实现】--商品入库--事务开始begintran --商品编号变量 declare@pidvarchar(50)--进货商品数量变量 declare@pnumint--错误号变量 declare@errint set@err=@@ERROR --向入库表添加记录 insertintoinproductvalues ('2010011115','Pro16',20,5.9,'2009-12-15','保定','刘德华','')--修改@err的值任务实施-【具体实现】set@err=@@ERROR+@err print@errset@pid='Pro16'set@pnum=20--查询商品编号为Pro16的商品是否存在ifexists(select*fromproductStockwherepid=@pid)beginupdateproductStocksetstockCount=stockCount+@pnumwherepid=@pid --修改库存信息set@err=@@ERROR+@errendelsebegin任务实施-【具体实现】-—添加库存信息insertintoproductStockvalues(@pid,@pnum,'') set@err=@@ERROR+@errendif(@err=0)--提交事务committran else--回滚事务rollbacktran go任务实施-【检查与评估】检查学生能否写出正确的select查询语句获取单据号为20091215的商品详细信息。检查学生能否创建视图并通过视图查询入库、出库信息。检查学生能否根据不同表中的商品编号实现连接查询。检查学生能否正确创建并使用事务来实现入库、出库操作。拓展训

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论