Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde,
Estou efetuando esse código e já verifiquei todas as linhas selecionadas, estão idênticas ao Fetch Next into, não estou conseguindo achar o erro. Alguém poderia me ajudar. A mensagem de erro que da no banco é esse:
SQL Server message 16924: Busca do cursor: o número de variáveis declaradas na lista INTO deve corresponder ao número de colunas selecionadas.
Desde já agradeço.
DECLARE @CODSET FLOAT, @CODPLA FLOAT,@CODCLI FLOAT,@MES FLOAT, @ANO FLOAT, @AUX FLOAT,@CONTROLE FLOAT
DECLARE @TABELA1 TABLE(CODSET FLOAT,CODPLA FLOAT,CODCLI FLOAT, MES FLOAT, ANO FLOAT)
DECLARE EXECUCAO CURSOR FOR
SELECT ORDSERV.CODSET CODSET,
ORDSERV.CODPLA CODPLA,
ORDSERV.CODCLI CODCLI,
DATEPART(MM, ORDSERV.DATPRO2) MES,
DATEPART(YYYY, ORDSERV.DATPRO2) ANO
FROM ORDSERVWHERE ORDSERV.DATPRO2 BETWEEN CONVERT(DATETIME,'01/10/2016',103)
AND CONVERT(DATETIME,'31/10/2016',103)
AND ORDSERV.CODEMP = 76
AND ORDSERV.CODSET = @CODSET
AND 1=(CASE WHEN @CODPLA = 0 AND ORDSERV.CODPLA IS NULL
THEN 1
ELSE CASE WHEN ORDSERV.CODPLA = @CODPLA
THEN 1
ELSE 0
END
END)
AND DATEPART(MM, ORDSERV.DATPRO2) = @MES
AND DATEPART(YYYY, ORDSERV.DATPRO2) =@ANO
AND 1=CASE WHEN @CODCLI = 0 AND ORDSERV.CODCLI IS NULL
THEN 1
ELSE CASE WHEN ORDSERV.CODCLI = @CODCLI
THEN 1
ELSE 0
END
END
ORDER BY 1,2,3
OPEN EXECUCAO
FETCH NEXT FROM EXECUCAO INTO @CODSET, @CODPLA,@CODCLI,@MES, @ANO
WHILE @@FETCH_STATUS = 0 BEGIN
INSERT INTO @TABELA1 (CODSET,CODPLA,CODCLI,MES,ANO) VALUES (@CODSET, @CODPLA,@CODCLI,@MES, @ANO)
SET @AUX=1
SET @CONTROLE = 1
END
CLOSE EXECUCAOCarregando comentários...