请重命名此问题-Cursorfetch:在INTO列表中声明的变量数量必须与所选列的数量匹配. [英] Resole this Issue Please-- Cursorfetch: The number of variables declared in the INTO list must match that of selected columns.
本文介绍了请重命名此问题-Cursorfetch:在INTO列表中声明的变量数量必须与所选列的数量匹配.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
USE [csoft]
GO
/****** Object: StoredProcedure [dbo].[Search] Script Date: 08/11/2010 22:22:10 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[Search] @prd varchar(2),
@rep varchar(2),
@yy varchar(4),
@mm varchar(2),
@sno_o varchar(4) output,
@vtext_o VARCHAR(8000) output
AS
DECLARE @VTEXT VARCHAR(8000)
DECLARE @SNO VARCHAR(4)
Declare @SQL VarChar(8000)
DECLARE @Q VARCHAR(2)
declare @num varchar(10)
DECLARE db_cursor CURSOR FOR
SELECT sno, view_text
FROM month_scripts2
where prd_code = @prd
and rep_code = @rep
set @num=0
SET @Q = ''''''''
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @SNO,@VTEXT
WHILE @@FETCH_STATUS = 0
BEGIN
-- set @num = @num + 1
SET @SQL = @VTEXT
SET @SQL = REPLACE(@SQL,''''''MM'''''',@Q+@MM+@Q)
SET @SQL = REPLACE(@SQL,''''''YYYY'''''',@Q+@YY+@Q)
PRINT @sno + '' - '' + @SQL -- print
-- Exec ( @SQL)
-- if @num = 150
-- break
FETCH NEXT FROM db_cursor INTO @SNO,@VTEXT,@sno_o,@vtext_o
END
CLOSE DB_CURSOR
DEALLOCATE DB_CURSOR
谢谢-
Sharique
Thanks--
Sharique
推荐答案
在您写完END之前的while循环内的fetch语句中
In your fetch statement inside while loop just before the END you have written
FETCH NEXT FROM db_cursor INTO @SNO,@VTEXT,@sno_o,@vtext_o
应该是
It should be
FETCH NEXT FROM db_cursor INTO @SNO,@VTEXT
这篇关于请重命名此问题-Cursorfetch:在INTO列表中声明的变量数量必须与所选列的数量匹配.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文