请重命名此问题-Cursorfetch:在INTO列表中声明的变量数量必须与所选列的数量匹配. [英] Resole this Issue Please-- Cursorfetch: The number of variables declared in the INTO list must match that of selected columns.

查看:1204
本文介绍了请重命名此问题-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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆