首页 电脑 电脑学堂 查看内容

MS SQL Server 2000 游标的使用方法

2011-8-12 10:37 934 0

摘要: **************************************************************************************************...
关键词: nbsp 游标 CKMX cursor 语句 变量 fetch declare employee 物料

******************************************************************************************************              游标的使用方法          *********************************************                                                                      ***************************************     整理BY--苏贵阳   2010年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.blog.51cto.com/1035725/416979
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部