Estoy trabajando en una aplicación para el trabajo que va a consultar nuestra base de datos de empleados. Los usuarios finales desean tener la capacidad de buscar según los criterios estándar de nombre/departamento, pero también quieren la flexibilidad para consultar a todas las personas con el nombre de "James" que trabaja en el Departamento de Salud. Lo único que quiero evitar es simplemente hacer que el procedimiento almacenado tome una lista de parámetros y generar una instrucción SQL para ejecutar, ya que eso abriría las puertas a la inyección SQL a nivel interno.¿Cómo creo un procedimiento almacenado que opcionalmente buscará columnas?
¿Se puede hacer esto?
que quería mencionar aquí que la solución de Cade Roux funcionado mejor para mí ya que había una gran cantidad de valores de datos NULL en la tabla de destino, pero no pude ver lo bien que COALESCE funcionaría si tuviera los datos en toda mi columnas, por lo que el voto a favor de la solución de BoltBait definitivamente merece el mérito. –
Aaron Bertrand llama a esto un "Procedimiento de fregadero de cocina" y tiene algunas buenas ideas para tratar este tipo de problema que se pueden ver en http://sqlsentry.tv/the-kitchen-sink-procedure/ y http: // blogs .sqlsentry.com/aaronbertrand/backtobasics-updated-kitchen-sink-example /. – JamieSee