300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > MS SQL Server 2000 游标的使用方法

MS SQL Server 2000 游标的使用方法

时间:2019-12-19 06:26:00

相关推荐

MS SQL Server 2000 游标的使用方法

*********************************************************************************

********************* 游标的使用方法 *****************************

**************** ***********************

**************** 整理BY--苏贵阳 7月28日 ***********************

*********************************************************************************

一、游标的作用:

Transact-SQL 游标主要用在存储过程、触发器和 Transact-SQL 脚本中,它们使结果集的内容对其它 Transact-SQL 语句同样可用。

二、游标的使用过程:

1.声明游标变量包含游标返回的数据。

2.使用declare cursor 语句把游标与一个select 语句相关联。

如: declare CKMX_cursor cursor for

select CKMX_WLBH,CKMX_SL,CKMX_DJ,CKMX_BZ from #CKMX

3.使用open语句执行select语句生成游标。

如: open CKMX_cursor

4.使用fetch into 语句提取单行,并把每列中的数据转移到指定的变量中。然后,其他SQL语句可以引用这些变量来访问已提取的数据值。

如:fetch from CKMX_cursor into @CKMX_WLBH,@CKMX_SL,@CKMX_DJ,@CKMX_BZ

要先定义使用到的变量:

declare @CKMX_WLBH varchar(20)--存放从临时表中查询出来的物料代码

declare @CKMX_SL float --存放从临时表中查询出来的物料数量

declare @CKMX_DJ float --存放从临时表中查询出来的物料单价

declare @CKMX_BZ varchar(50) --存放从临时表中查询出来的物料备注

5.利用while循环来遍历游标中的内容

例一:

while @@fetch_status=0

begin

……

可以使用已经赋值了的变量: @CKMX_WLBH,@CKMX_SL,@CKMX_DJ,@CKMX_BZ

fetch from CKMX_cursor into @CKMX_WLBH,@CKMX_SL,@CKMX_DJ,@CKMX_BZ --如果没有此句,会导致死循环。

……

end

@@fetch_status 返回 fetch 语句执行的最后游标状态,而不是任何当前被打开的游标的状态。

返回值:0:fetch语句执行成功; -1:fetch语句执行失败,或者此行不在结果集中。

例二:

declare employee_cursor cursor for

select lastname, firstname from northwind.dbo.employees

open employee_cursor

fetch next from employee_cursor

while @@fetch_status = 0

begin

fetch next from employee_cursor

end

close employee_cursor

deallocate employee_cursor

6.结束游标:

关闭当前使用的游标: close CKMX_cursor

处于关闭状态的游标,如果重新发出一个open 语句,则该游标结构仍可用于处理。

完全释放游标资源: deallocate CKMX_cursor

7.其他

MS SQL SERVER 2000中支持 cursor 数据类型的变量。

定义并关联游标变量

方法一:

declare @myvariable cursor -- 定义游标变量

declare mycursor cursor for -- 定义游标

select lastname from northwind.dbo.employees

set @myvariable = mycursor -- 关联游标

方法二:

set @myvariable = cursor scroll keyset for

select lastname from northwind.dbo.employees

本文出自 “迷茫后的短暂停留” 博客,请务必保留此出处http://suguiyang./1035725/416979

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。