SP con Output Parameter y top

14/09/2005 - 20:29 por Jaime Vasquez | Informe spam
Hola,

Como puedo hacer para asignar el valor a un parámetro output cuando se
usa top N en el select, por ejemplo:

CREATE PROCEDURE NextCorr_SP
@cCosecha As VARChar(8) = '20042005',
@nCodage As SmallInt = 0,
@nCodCom As SmallInt = 2,
@NextCorr Int Output
AS
BEGIN


Select Top 1 correc
FROM Recagen
WHERE cosecha = @cCosecha
AND codage = @ncodAge
AND codcom = @nCodCom
ORDER BY correc DESC
END

He probado con "select @nextcorr = Select...", pero da error y con
"Select @nextcorr = top... " tambien falla.

MsSqlServer 7.0


Lo pude hacer regresando el valor no como parámetro sino como cursor,
pero ahora es mas por curiosidad didáctica que quiero saber si se puede
hacer o no.


Gracias.


Saludos,
Jaime Vásquez
Guatemala, C.A.
 

Leer las respuestas

#1 Alejandro Mesa
14/09/2005 - 20:46 | Informe spam
Jaime,

Trata:

set @NextCorr = (select top ...)


AMB

"Jaime Vasquez" wrote:

Hola,

Como puedo hacer para asignar el valor a un parámetro output cuando se
usa top N en el select, por ejemplo:

CREATE PROCEDURE NextCorr_SP
@cCosecha As VARChar(8) = '20042005',
@nCodage As SmallInt = 0,
@nCodCom As SmallInt = 2,
@NextCorr Int Output
AS
BEGIN


Select Top 1 correc
FROM Recagen
WHERE cosecha = @cCosecha
AND codage = @ncodAge
AND codcom = @nCodCom
ORDER BY correc DESC
END

He probado con "select @nextcorr = Select...", pero da error y con
"Select @nextcorr = top... " tambien falla.

MsSqlServer 7.0


Lo pude hacer regresando el valor no como parámetro sino como cursor,
pero ahora es mas por curiosidad didáctica que quiero saber si se puede
hacer o no.


Gracias.


Saludos,
Jaime Vásquez
Guatemala, C.A.




Preguntas similares