Consulta Parametrizada

Tengo una vista y un procedimiento que hace una consulta son re la vista para retornar los resultados.
Lo que quiero hacer es poder colocar un where a la consulta si llegan ciertos parámetros, por ejemplo, si la consulta fuera SELECT * FROM TABLA y al procedimiento llegan 3 parámetros con valores distintos de '' o null entonces el procedimiento debería retornar los resultados de la consulta con esos filtros (SELECT * FROM TABLA WHERE CAMP1=PARAMETRO1...), pero si los parámetros no traen valor pues debería retornar todos los datos.

1 respuesta

Respuesta
1
Si el número de parámetros es fijo y no son muchos
se puede hacer una  consulta extatica del tipo
where (camp1= parametro1 or parametro1 is null)
   and (camp2= parametro2 or parametro2 is null)
......
  and (campx=parametrox or parametrox is null)
Con esto si los parámetros del procedimiento vienen sin valor no tiene en cuenta la condición del where.
También puedes montar la consulta dinámicamente dependiendo de los parámetros
y ejecutarla con "execute inmediate"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas