Parametros opcionales

22/12/2008 - 17:54 por Federico Martinez | Informe spam
Hola grupo.

Mi duda es la siguiente:

Estoy haciendo un stored procedure el cual recibe 3 parametros de entrada de
los cuales dos pueden ser opcionales. Entonces el query que me devuelve el
SP seria algo asi

SELECT lista_de_campos_que necesito
FROM tabla_a_consultar
WHERE campo_filtrado1 = @parametro1
AND campo_filtrado2 = @parametro2
AND campo_filtrado3 = @parametro3

Yo lo que necesito es que cuando por decir alguno de los parametros 2 y 3 no
traigan informacion para consultas, como por ejemplo '' para campo varchar o
0 si fuera numerico, estos se pudieran excluir del query, y este quedara
asi:

SELECT lista_de_campos_que necesito
FROM tabla_a_consultar
WHERE campo_filtrado1 = @parametro1

o asi

SELECT lista_de_campos_que necesito
FROM tabla_a_consultar
WHERE campo_filtrado1 = @parametro1
AND campo_filtrado3 = @parametro3

ie, que se pudieran excluir del query sin tener yo que meter el query en una
cadena y luego mandarlo ejecutar, o sin tenes que usar muchos IF's


Saludos!
 

Leer las respuestas

#1 raipon
22/12/2008 - 18:38 | Informe spam
Hola, el hilo de tus razonamientos llevan a pensar en el sql dinámico. Pero
no es la única alternativa, también puedes preveer que el parámetro sea nulo
:

... Where (campo_filtrado1 = @parametro1 Or @parametro1 Is Null)
And
(campo_filtrado2 = @parametro2 Or @parametro2 Is Null)
And
...

Adios, un saludo.

Preguntas similares