Problema con un where en un Sp

11/05/2004 - 17:22 por sole | Informe spam
Hola grupo, dando la lata como siempre...tengo una duda de como hacer un
WHERE de un parámetro que tanto me puede venir nulo como no...

El procedimiento le paso 3 parametros, 2 fijos (@Parametro1,@Parametro2) y
uno que no se sabe si viene que es @Parametro3, en la declaracion del
procdure le asigno a null...

El problema que tengo es que si me viene nulo no debo poner nada en el WHERE
y si me viene pues hacerlo sobre ese campo...pero no sé seguir, a ver si
alguién me ilumina.

Ej.
INSERT INTO #temporal (campo1,campo2,campo3)
SELECT Valor1, Valor2, Valor3
FROM ejemplo
WHERE campo1 = @Parametro1 AND campo2=@Parametro2

Un saludo y gracias por leerme.
 

Leer las respuestas

#1 Tinoco
11/05/2004 - 17:45 | Informe spam
Hola.

Puedes utilizar algo como esto:

INSERT INTO #temporal (campo1,campo2,campo3)
SELECT Valor1, Valor2, Valor3
FROM ejemplo
WHERE campo1 = @Parametro1 AND campo2=@Parametro2
and (@parametro3 is null or (not @parametro3 is null and
@parametro3 = campo3)

Espero que te sirva.

Hermilson
Colombia

Hola grupo, dando la lata como siempre...tengo una duda


de como hacer un
WHERE de un parámetro que tanto me puede venir nulo como


no...

El procedimiento le paso 3 parametros, 2 fijos


(@Parametro1,@Parametro2) y
uno que no se sabe si viene que es @Parametro3, en la


declaracion del
procdure le asigno a null...

El problema que tengo es que si me viene nulo no debo


poner nada en el WHERE
y si me viene pues hacerlo sobre ese campo...pero no sé


seguir, a ver si
alguién me ilumina.

Ej.
INSERT INTO #temporal (campo1,campo2,campo3)
SELECT Valor1, Valor2, Valor3
FROM ejemplo
WHERE campo1 = @Parametro1 AND campo2=@Parametro2

Un saludo y gracias por leerme.


.

Preguntas similares