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

下载本文档

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

文档简介

1、进销存管理系统进销存管理系统任务任务2 进销存系统数据查询与更新进销存系统数据查询与更新基于工作任务的基于工作任务的SQL Server 2008SQL Server 2008数据库应用数据库应用任务目标p 会根据客户需求写出简单的select查询语句p 会根据客户需求写出多表的连接查询p 会创建视图、通过视图查询需要的数据信息p 会创建事务,通过事务实现客户业务需求 在超市进销存管理系统中,工作人员经常要盘点系统中各物品的数量,完成入库及出库等操作。现在,超市人员要查询某些数据及实现商品入库:(1)查询入库单据号为20091215的入库单详细信息。(2)查询商品编号为Pro02的商品库存及商

2、品详细信息。(3)查询2009年12月13日商品编号为Pro03的入库和库存信息。(4)实现商品的入库操作。客户需求任务分析 分析上面的需求,需要使用数据库的简单查询、多表连接查询或子查询来获取需要的数据;也可以通过视图实现对数据的查询操作;为了保证数据的一致性,在实现商品的入库与出库操作时,可以使用事务来保证所操作数据的一致性。(1)对于第一个用户需求,需要使用简单查询即可实现。只需要从inProduct表中查询inNo等于“20011215”的数据信息。(2)对于第二个用户需求,由于用户需要查询的数据来源于两个表:product和productStock表,所以要用到两个表的连接查询,而连

3、接字段就是商品编号。任务分析(3)对于第三个用户需求,由于要查询的信息比较复杂,而且要查询的信息来源于3个表,所以可以针对要做的查询,创建一个视图,即基于查询的虚拟表,这样以后再查询这类信息时,可以通过视图来完成。在此任务中,要创建基于查询的视图时,需要用到product、inProduct和outProduct表。(4)对于第四个用户需求,由于在实现商品入库操作时,需要向inProduct表中添加记录或者修改inProduct表中的数据,同时也需要修改入库商品的库存信息,这样就需要在productStock表中修改或添加记录,为了保证不同表中数据信息的一致性,所以需要使用事务来实现该任务。任

4、务实施-【制定计划】p 通过简单查询获取单据号为20091215的入库详细信息(10分钟)。p 采用连接查询获取商品编号为Pro02的商品库存及商品详细信息(20分钟)。p 使用连接查询或者视图获取2009年12月13日商品编号为Pro03的入库、库存信息(30分钟)。p 使用事务实现商品的入库操作并保证库存数据的正确性(30分钟)。p 学生提交查询、视图、事务的SQL脚本,教师点评,学生自评。任务实施-【具体实现】获取入库单据号为获取入库单据号为2009121520091215的入库单详细信息的入库单详细信息 查询结果查询结果use ppsgoselect * from inproduct

5、where inNo=20091215go任务实施-【具体实现】获取商品编号为获取商品编号为Pro02Pro02的商品库存及商品详细信息的商品库存及商品详细信息 use ppsgoselect product.pid,-商品编号pcode,-条形码pname,-商品名称punit,-商品单位pprice,-商品单价pcategory, -商品种类stockCount -商品库存量from product inner join productStock on product.pid=productStock.pid where product.pid=Pro02go任务实施-【具体实现】crea

6、te view productInfo-创建视图,以方便复杂查询asselect product.pid,-商品编号product.pname,-商品名称punit,-商品单位pprice,-商品单价inproduct.inTime,-入库时间stockcount=stockcount+inproduct.incount-outproduct.outcount-商品库存量 from product inner join inproduct on product.pid=inproduct.pid inner join outproduct on product.pid=outproduct.p

7、id inner join productstock on product.pid=productstock.pidgo获取获取20092009年年1212月月1313日商品编号为日商品编号为Pro03Pro03的入库及库存信息的入库及库存信息select * from productInfo where pid=Pro03 and inTime=2009-12-13任务实施-【具体实现】-商品入库-事务开始begin tran -商品编号变量declare pid varchar(50) -进货商品数量变量 declare pnum int -错误号变量 declare err intset

8、 err=ERROR-向入库表添加记录insert into inproduct values(2010011115,Pro16,20,5.9,2009-12-15,保定,刘德华,)-修改err的值任务实施-【具体实现】set err=ERROR+errprint errset pid=Pro16set pnum=20-查询商品编号为Pro16的商品是否存在if exists (select * from productStock where pid=pid)beginupdate productStock set stockCount=stockCount+pnum where pid=pi

9、d-修改库存信息set err=ERROR+errendelsebegin 任务实施-【具体实现】-添加库存信息insert into productStock values(pid,pnum,)set err=ERROR+errendif (err=0) -提交事务commit tranelse-回滚事务rollback trango任务实施-【检查与评估】p 检查学生能否写出正确的select查询语句获取单据号为20091215的商品详细信息。p 检查学生能否创建视图并通过视图查询入库、出库信息。p 检查学生能否根据不同表中的商品编号实现连接查询。p 检查学生能否正确创建并使用事务来实现入库、出库操作。拓展训练请同学们完成下面的

温馨提示

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

评论

0/150

提交评论