如何解决这个问题,当我尝试重用游标时,在sql-server中没有遇到任何有用的信息
5f0d552i1#
请参阅:DECLARE CURSOR (Transact-SQL)
DECLARE cursor_name CURSOR [ LOCAL | GLOBAL ] [ FORWARD_ONLY | SCROLL ]
...FORWARD_ONLY指定游标只能从第一行滚动到最后一行。FETCH NEXT是唯一支持的提取选项。想象一辆没有倒档的汽车= FORWARD_ONLY(因此您不能后退)声明游标时需要指定SCROLL。但是,几乎总是使用SQL(无游标)更快。
4nkexdtk2#
Paul麦克斯韦的答案是正确的,只是添加了一个权威参考,请查看备注部分:如果在ISO样式的DECLARE CURSOR语句中未指定SCROLL选项,则NEXT是唯一支持的FETCH选项。如果在ISO样式的DECLARE CURSOR语句中指定了SCROLL,则支持所有FETCH选项。这意味着FORWARD_ONLY在缺省情况下是隐藏的,并且只有在声明游标时才是隐藏的
DECLARE cursor_name CURSOR SCROLL ...
则FETCH FIRST可用。
FETCH FIRST
2条答案
按热度按时间5f0d552i1#
请参阅:DECLARE CURSOR (Transact-SQL)
...
FORWARD_ONLY指定游标只能从第一行滚动到最后一行。FETCH NEXT是唯一支持的提取选项。
想象一辆没有倒档的汽车= FORWARD_ONLY(因此您不能后退)
声明游标时需要指定SCROLL。但是,几乎总是使用SQL(无游标)更快。
4nkexdtk2#
Paul麦克斯韦的答案是正确的,只是添加了一个权威参考,请查看备注部分:
如果在ISO样式的DECLARE CURSOR语句中未指定SCROLL选项,则NEXT是唯一支持的FETCH选项。如果在ISO样式的DECLARE CURSOR语句中指定了SCROLL,则支持所有FETCH选项。
这意味着FORWARD_ONLY在缺省情况下是隐藏的,并且只有在声明游标时才是隐藏的
则
FETCH FIRST
可用。