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
。net工程师