文档详情

实验13使用光标.doc

发布:2017-07-26约2.46万字共9页下载文档
文本预览下载声明
实验十三 游标使用基础 姓名: 方令 学号: 0807022205 专业: 网络工程 班级: 2 同组人: 无 实验日期: 2011.11.19 【实验目的与要求】 理解游标的概念。 熟悉游标的工作机制及游标的使用 【实验内容与步骤】 游标的使用 1. 使用游标依次提取数据 阅读以下程序,理解游标声明与使用的基本方法和过程。 Declare CP_csr_getdata cursor for select 产品编号,产品名称,价格,库存量 from CP where 价格=1200 order by 价格 --打开游标 OPEN CP_csr_getdata --执行第一次取数操作 FETCH next From CP_csr_getdata --检查以确定是否还可以继续取数 while @@FETCH_STATUS=0 BEGIN FETCH next From CP_csr_getdata END --关闭游标 close CP_csr_getdata --释放游标 deallocate CP_csr_getdata 运行结果: 2. 使用游标提取数据 以下程序段使用游标提取查询结果集中不同位置的数据,请阅读并理解其中游标的作用。 declare CP_csr scroll cursor for select 产品编号,产品名称,价格,库存量 from CP where 价格=1200 order by 价格 --打开游标 open CP_csr --提取数据集中的最后一行 fetch last from CP_csr --当前游标所在行的上一行 fetch prior from CP_csr --提取数据集中的第四行 fetch absolute 4 from CP_csr --提取第二行 fetch relative -2 from CP_csr --数据集中的第一行 fetch first from CP_csr --关闭游标 close CP_csr --释放游标 deallocate CP_csr 运行结果: 3. 使用游标读取数据到变量中并输出 declare @product_ID char(6) --声明变量product_ID declare @product_Name char(30) --声明变量product_Name declare CP_csr_getdata cursor for select 产品编号,产品名称 from CP where 价格=1200 order by 价格 --打开游标 OPEN CP_csr_getdata --执行第一次取数操作,将查询得到的产品编号和 --产品名称分别存于变量product_ID和product_Name中 FETCH next From CP_csr_getdata into @product_ID,@product_Name --检查以确定是否还可以继续取数 while @@FETCH_STATUS=0 --@@开始的变量表示全局变量 BEGIN print @product_ID+ +@product_Name --遍历游标行,输出相应的值 FETCH next From CP_csr_getdata into @product_ID,@product_Name END --关闭游标 close CP_csr_getdata --释放游标 deallocate CP_csr_getdata 运行结果: .4. 使用游标更新数据 以下程序段实现的是使用游标更新CP表中价格=1200的数据记录行,将其价格变为原来价格的1.5倍。 declare CP_csr_updatedata cursor for select 产品编号,产品名称,价格 from CP where 价格=1200 order by 价格 for update of 价格 --打开游标 OPEN CP_csr_updatedata --执行第一次取数操作 FETCH CP_csr_updatedata --检查以确定是否还可以继续取数 while @@FETCH_STATUS=0 BEGIN update CP set 价格=价格*1.5 where current of CP_csr_updatedata fetch CP_csr_updatedata END --关闭游标 close CP_csr_updatedata --释放游标 deallocate CP_csr_updatedata 运行结果: 实验练习:
显示全部
相似文档