游标被成功打开后,就可以使用 FETCH命令从中检索特定的数据。提取游标中数据的语法如下:
FETCH [NEXT|PRIOR|FIRST|In][RELATIVE|n|]FROM游标名[INTO@变量名][,...n]。
其参数说明如下。
1.NEXT:表示提取当前行的下一行数据,并将下一行变为当前行。如果 FETCH NEXT是对记录集进行的第一次提取数据,则提取第一行记录。
2.PRIOR:表示提取当前行的前一行数据,并将前一行变为当前行。如果 FETCH PRIOR是对记录集进行的第一次提取数据,则没有返回,并且游标置于第一行之前。
3.FIRST:表示提取第一行数据,并将其作为当前行。
4.LAST:表示提取最后一行数据,并将其作为当前行。(www.xing528.com)
5.ABSOLUTE:表示按绝对位置提取数据。如果n为正数,则返回从游标头开始的第n行,并将返回的行变为新的当前行。如果n为负数,则返回从游标末尾开始的第n行,并将返回的行变为新的当前行。
6.RELATIVE:按相对位置提取数据。如果n为正数,则返回当前行开始之后的第n行,并将返回的行变为新的当前行。如果n为负数,则返回当前行开始之前的第n行,并将返回的行变为新的当前行。
7.INTO@变量名:将提取操作的列数据放到局部变量中。变量列表中的各个变量从左到右与游标结果集中的相应列关联。各变量的数据类型必须与结果集中相应列的数据类型匹配,或者是结果集列数据类型所支持的隐式转换,变量的数目必须与游标选择列表中的列数一致。
执行一次 FETCH语句只能提取一条记录。如果希望在游标中提取所有的记录,就需要将FETCH语句放在一个循环体中,并使用全局变量@@FETCH_ STATUS判断上一次的记录是否提取成功。如果成功,则继续进入下一次数据提取,直到末尾。将记录提取完后,跳出循环。
全局变量@@FETCH_STATUS有三个返回值0、-1和-2。其值为0时表示提取正常,为-1时表示已经到了记录末尾,为-2时表示操作有问题。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。