欢迎来到天天文库
浏览记录
ID:37381561
大小:343.50 KB
页数:9页
时间:2019-05-23
《数据库原理与应用实验14_》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验十四 游标使用基础姓名:学号:专业:网络工程班级:同组人:无实验日期:【实验目的与要求】1.理解游标的概念。2.熟悉游标的工作机制及游标的使用【实验内容与步骤】14.1.游标的使用1.使用游标依次提取数据理解游标声明与使用的基本方法和过程。DeclareCP_csr_getdatacursorforselect产品编号,产品名称,价格,库存量fromCPwhere价格>=1200orderby价格--打开游标OPENCP_csr_getdata--执行第一次取数操作FETCHnextFromCP_csr_getdata--检查以确定是否还可以继续取数while@@FET
2、CH_STATUS=0BEGINFETCHnextFromCP_csr_getdataEND--关闭游标closeCP_csr_getdata--释放游标deallocateCP_csr_getdata给出运行结果:第9页共9页2.使用游标提取数据以下程序段使用游标提取查询结果集中不同位置的数据,请阅读并理解其中游标的作用。declareCP_csrscrollcursorforselect产品编号,产品名称,价格,库存量fromCPwhere价格>=1200orderby价格--打开游标openCP_csr--提取数据集中的最后一行fetchlastfromCP_csr-
3、-当前游标所在行的上一行fetchpriorfromCP_csr--提取数据集中的第四行fetchabsolute4fromCP_csr--提取第二行第9页共9页fetchrelative-2fromCP_csr--数据集中的第一行fetchfirstfromCP_csr--关闭游标closeCP_csr--释放游标deallocateCP_csr给出运行结果:3.使用游标读取数据到变量中并输出declare@product_IDchar(6)--声明变量product_IDdeclare@product_Namechar(30)--声明变量product_Namedecl
4、areCP_csr_getdatacursorforselect产品编号,产品名称fromCPwhere价格>=1200第9页共9页orderby价格--打开游标OPENCP_csr_getdataFETCHnextFromCP_csr_getdatainto@product_ID,@product_Name--检查以确定是否还可以继续取数while@@FETCH_STATUS=0BEGINprint@product_ID+''+@product_Name--遍历游标行,输出相应的值FETCHnextFromCP_csr_getdatainto@product_ID,@pr
5、oduct_NameEND--关闭游标closeCP_csr_getdatadeallocateCP_csr_getdata给出运行结果:第9页共9页.4.使用游标更新数据以下程序段实现的是使用游标更新CP表中价格<=1200的数据记录行,将其价格变为原来价格的1.5倍。declareCP_csr_updatedatacursorforselect产品编号,产品名称,价格fromCPwhere价格<=1200forupdateof价格--打开游标OPENCP_csr_updatedata--执行第一次取数操作FETCHCP_csr_updatedata--检查以确定是否还可
6、以继续取数while@@FETCH_STATUS=0第9页共9页BEGINupdateCPset价格=价格*1.5wherecurrentofCP_csr_updatedatafetchCP_csr_updatedataEND--关闭游标closeCP_csr_updatedata--释放游标deallocateCP_csr_updatedata给出运行结果:14.2.实验练习:1.编写程序,定义游标CP_Cursor,用以实现从CP表中读取产品编号、产品名称和价格,并遍历游标将价格在1000-3000(不包含1000和3000)之间的第9页共9页产品名称和价格输出。(1)
7、给出T-SQL代码:DeclareCP_Cursorcursorforselect产品编号,产品名称,价格fromCPwhere价格between1000and3000orderby价格--打开游标OPENCP_Cursor--执行第一次取数操作FETCHnextFromCP_Cursor--检查以确定是否还可以继续取数while@@FETCH_STATUS=0BEGINFETCHnextFromCP_CursorEND--关闭游标closeCP_Cursor--释放游标deallocateCP_Cursor(2)
此文档下载收益归作者所有