lunes, 19 de noviembre de 2007

Procedures con parámetros nulos (Consultas) - SQL Server

Hace mucho tiempo se me presentó hacer Store Procedures de consultas que recibieran valores nulos. Logré hacerlo de una manera rústica, hasta ahora es la única forma que uso.

Caso Práctico.

Tenemos la tabla producto con 3 campos: cod_pro, des_pro, igv

Queremos hacer una consulta que nos liste un producto por el código y que esa misma consulta nos sirva para poder listar todos los productos, obviamente esta consulta dentro de un store procedure.

-----------------------------------------------------
CREATE PROCEDURE SP_CONSULTA
@COD_PRO INT = NULL
AS
SELECT COD_PRO, DES_PRO, IGV
FROM TB_PRODUCTO
WHERE ((@COD_PRO IS NULL) OR (@COD_PRO = COD_PRO))
-----------------------------------------------------

Y bueno, en lineas generales... en caso de recibir un parámetro lo comparará. En caso contrario irá a la condición de null y listará a todos los productos. Es una consulta simple, pero se aprecia claramente el "artificio".

No hay comentarios.: