NOVOTS KMS 词汇表 Glossary    联系我们 Contact Us
查询 Search  
   
按类别浏览 Browse by Category
NOVOTS KMS .: 数据库 .: sql server 游标的用法

sql server 游标的用法

游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次以行或者多行前进或向后浏览数据的能力。我们可以把游标当作一个指针,它可以指定结果中的任何位置,然后允许用户对指定位置的数据进行处理。

(1)声明Transaction-SQL变量包含游标返回的数据。为每个结果集列声明一个变量。声明足够大的变量来保存列返回的值,并声明变量的类型为可从数据类型隐式转换得到的数据类型。

(2)使用Declare Cursor语句将Transaction-SQL游标与Select语句相关联。还可以利用Declare Cursor定义游标的只读、只进等特性。

(3)使用Open语句执行Select语句填充游标。

(4)使用Fetch Into语句提取单个行,并将每列中得数据移至指定的变量中。注意:其他Transaction-SQL语句可以引用那些变量来访问提取的数据值。Transaction-SQL游标不支持提取行块。

(5)使用Close语句结束游标的使用。注意:关闭游标以后,该游标还是存在,可以使用Open命令打开继续使用,只有调用Deallocate语句才会完全释放。

例子:

declare @userid int
declare @herolvl int

DECLARE cursor1 CURSOR FOR
  select U.userid, ISNULL(H.heroLevel,1) from [user] U, hero H
  where  u.userid = h.userid and h.AttCategory=1

OPEN cursor1
FETCH NEXT FROM cursor1 INTO @userid, @herolvl
WHILE @@FETCH_STATUS = 0
BEGIN

 exec UpdateUserFinalPlace @userid,@herolvl
   FETCH NEXT FROM cursor1 INTO @userid, @herolvl
END
CLOSE cursor1
DEALLOCATE cursor1


这篇文章对你多有用?

相关文章

article 关于Windows Server 2008 的八个版本
Windows Server 2008...

(No rating)  7-23-2013    Views: 1035   
article 举例说明集成ISA Server和Windows 2000 Server的RRAS实现具有高可用性和高安全性的站点间的VPN
摘要本文讲述了如何集成ISA Server和Windows 2000...

(No rating)  10-26-2006    Views: 1946   
article DHCP Server 服务无法在 Windows Server 2008 只读域控制器上启动
DHCP Server 服务无法

(No rating)  5-7-2010    Views: 3235   

用户评语

添加评语
当前还没有评语.


.: .: .: .: .:
[ 登陆 ]
北京护航科技有限公司 2006

Novots Technologies Limited