Hola a todos/as.
A ver si podeis echarme una mano con esto.
Supongamos el siguiente SP muy simple:
Create Procedure dbo.Clientes
(@edad int = 0)
as
Select nombre, ciudad From TbClientes
Where ((@edad = 0) or (edad = @edad))
return
Como sabreis esto permite devolver todos los registros de la tabla clientes
si no se le pasa ningún valor al parametro edad y en caso contrario, me
devolverá todos los clientes que cumplan ese criterio.
Hasta ahí todo bien, el problema viene si inserto un parametro de salida que
me devuelva el número de registros que cumplan esa condición. La cosa
quedaría así:
Alter Procedure dbo.Clientes
(@edad int = 0,
@cuenta int = 0 OUTPUT)
as
Select nombre, ciudad From TbClientes
Where ((@edad = 0) or (edad = @edad))
Select @cuenta = count(*) From TbClientes
Where ((@edad = 0) or (edad = @edad))
return @cuenta
Pues bien, el problema está en que de esta segunda forma el parametro de
salida @cuenta solamente me devuelve el resultado correcto si le doy un
valor al parámetro @edad. Si no lo hago debería devolverme el total de
registros, sin embargo me devuelve 0.
Alguna idea??
Gracias de antemano y un saludo.
Leer las respuestas