如何在没有FETCH的情况下访问光标列.. INTO

ala*_*ala 8 sql sql-server cursor

我正在使用SQL Server来构建存储过程,而我正在使用游标来遍历select语句

我将游标定义如下:

DECLARE @c_col1 varchar(max);
DECLARE @c_col2 varchar(max);

DECLARE c as CURSOR FOR 
SELECT col1, col2 
FROM table;

OPEN c;
FETCH NEXT FROM c INTO
@c_col1, @c_col2;

SELECT @c_col1, @c_col2;
Run Code Online (Sandbox Code Playgroud)

有没有办法访问游标的列而不需要为每列声明变量并在FETCH子句中使用INTO?换句话说,是否可以使用:

DECLARE c as CURSOR FOR 
SELECT col1, col2 
FROM table;

OPEN c;
FETCH NEXT FROM c; 

SELECT c.col1, c.col2;
Run Code Online (Sandbox Code Playgroud)

Eri*_*ard 4

不,如果您想将游标中的值存储在局部变量中而不是将它们返回给客户端,则必须这样做。