您好,欢迎来到微智科技网。
搜索
您的当前位置:首页实验13 游标的使用

实验13 游标的使用

来源:微智科技网


实验十三 游标使用基础

姓名: 专业: 同组人:

方令 网络工程 无

学班

号级

: :

0807022205

2 2011.11.19

实验日期:

【实验目的与要求】

1. 理解游标的概念。

2. 熟悉游标的工作机制及游标的使用

【实验内容与步骤】 13.1. 游标的使用

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

运行结果:

第 1 页 共 6 页

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 运行结果:

第 2 页 共 6 页

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

第 3 页 共 6 页

--关闭游标

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

--检查以确定是否还可以继续取数

第 4 页 共 6 页

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

运行结果:

13.2. 实验练习:

编写程序,定义游标CP_Cursor,用以实现实现从CP表中读取产品编号、产品名称和价格,并遍历游标将价格在1000-3000(不包含1000和3000)之间的产品名称和价格输出。

(1)给出T-SQL代码:

declare CP_Cursor cursor for

select 产品编号,产品名称,价格 from CP

where 价格>1000 and 价格<3000 order by 价格 OPEN CP_cursor

FETCH next from CP_cursor while @@FETCH_STATUS=0 BEGIN

fetch next from CP_cursor END

close CP_cursor deallocate CP_cursor

第 5 页 共 6 页

(2) 给出程序运行结果截图:

第 6 页 共 6 页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务