sqlserver游标

作用 :对数据的多条数据进行逐条更改或者显示。

语句分析:

next:返回结果集当前行的下一行,首次提取返回第一行。

frior:返回结果集的上一行,首次提取无数据返回。

first:返回结果集第一行。

last:返回结果集最后一行。

absolute:移动到结果集的第n行。如果n为正数,从结果集的第一行(包含第一行)起移到第n行;如果n为负数,则从结果集的最后一行起移到第n行。

relative:从游标指针的当前位置移动n行。如果n为正数,则读取游标当前位置起向后的第n行数据;如果n为负数,则读取游标当前位置起向前的第n行数据。

  @@fetch_status是MSSQL的一个全局变量

   其值有以下三种,分别表示三种不同含义:【返回类型integer】

   -0 FETCH 语句成功

    -1 FETCH 语句失败或此行不在结果集中

    -2 被提取的行不存在

 

 

实例:

declare @id int;--先是声明变量
declare @name varchar(max);
DECLARE test CURSOR FOR --创建游标test,stock 某表
select top 5 s.StockId,s.SKUNo from Stock s --这里是需要操作的数据
--打开游标
OPEN test
FETCH NEXT FROM test INTO @id,@name --这里和for 循环的初始化类似->i=0  注意into 后面跟的变量  要和取得的列的数目对应
while @@FETCH_STATUS =0  --提取数据的状态
begin
	print @id
	FETCH NEXT FROM test INTO @id,@name-- 类似->i++
end
--关闭游标
CLOSE test
--释放资源
DEALLOCATE test

  

posted @ 2020-04-24 11:41  龙er飞  阅读(1344)  评论(0编辑  收藏  举报