Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态查询无法使用SqlServer 2008存储过程中的游标_Sql_Sql Server_Sql Server 2008_Stored Procedures - Fatal编程技术网

动态查询无法使用SqlServer 2008存储过程中的游标

动态查询无法使用SqlServer 2008存储过程中的游标,sql,sql-server,sql-server-2008,stored-procedures,Sql,Sql Server,Sql Server 2008,Stored Procedures,我正在Sql Server 2008中构建一个存储过程。存储过程有两个参数,它们是表的列名。在存储过程中,我使用动态查询在游标的帮助下获取这两列的数据 代码: 但当我执行此SP时,它会给我以下错误 Msg 16916, Level 16, State 1, Procedure TestSP, Line 33 A cursor with the name 'result_Cursor' does not exist. 执行命令: Exec TestSP "Column_1","Column_2"

我正在Sql Server 2008中构建一个存储过程。存储过程有两个参数,它们是表的列名。在存储过程中,我使用动态查询在游标的帮助下获取这两列的数据

代码:

但当我执行此SP时,它会给我以下错误

Msg 16916, Level 16, State 1, Procedure TestSP, Line 33
A cursor with the name 'result_Cursor' does not exist.
执行命令:

Exec TestSP "Column_1","Column_2"
有人能告诉我为什么我会犯这个错误吗

请帮忙


谢谢

错误是光标不存在。不能以“设置光标”开头。此外,游标名称不带@

所以试着使用

declare cursorNameHere cursor for SELECT ...
open cursorNameHere

@result\u Cursor
是一个变量,只需将最后一行更改为

FETCH NEXT FROM @result_Cursor INTO @x, @y
请参见有关更改的示例

PRINT 'CURSOR_QUERY'+@cursor_query


将@添加到您的参数result\u游标并重试:
将下一步从@result\u游标提取到@x、@y
其工作状态…谢谢Nadeem…)非常欢迎您;)
PRINT 'CURSOR_QUERY'+@cursor_query
PRINT 'CURSOR_QUERY '+@cursor_query