Asignar valor a parámetro de salida (SQL Server)

Cuestiones y dudas acerca de lenguajes de programación diversos.

Moderador: Moderadores

jatg1410
Senior
Mensajes: 75
Registrado: Jue Nov 06, 2008 6:00 pm

Asignar valor a parámetro de salida (SQL Server)

Mensaje por jatg1410 » Mar Jun 30, 2009 5:47 pm

Utilizo sql server 2000
Quiero devolver en un parámetro de salida (@CantIncidencias) la cantidad de registros de una tabla (Incidencias)

Este caso (sin filtro) me funciona bien

@CantIncidencias int output
set @CantIncidencias = (Select count(*) from Incidencias)

------------------------------------------------------------------------------------------------------------------------

pero cuando utilizo un filtro las cosas no me salen como esperaba, he aquí el fragmento de código

@Filtro varchar (4000)
@CantIncidencias int output

declare @Cadena varchar(8000)

set @Cadena = ('set @CantIncidencias = Select count(*) from Historico where ' + @Filtro)
exec(@Cadena)

Para este segundo caso podemos descartar que la cadena del filro que paso este mal porque esa cadena la utilizo en varios procedimientos sin problema.

Alguien ve el error o me sugiere otra solución.

Dese ya estoy agradeciendo vuestra ayuda

jatg1410
Senior
Mensajes: 75
Registrado: Jue Nov 06, 2008 6:00 pm

Re: Asignar valor a parámetro de salida (SQL Server)

Mensaje por jatg1410 » Mié Jul 29, 2009 5:01 pm

Bueno, como puede ser duda de cualquiera, les daré la respuesta que me dieron en otro foro. Me sugirieron que utilizara el procedimiento sp_executesql en lugar de execute como hacía anteriormente. No lo he probado porque utilice otra variante para solucionar el problema que tenia pero leí la ayuda de sql server y parece ser correcta la sugerencia,

Responder