Hola a todos los del foro
bueno quisiera saber si la consulta q eh hecho se puede reducir o simplificar porq la verdad lo veo muy redundante, haber si me dan una manito, ayuda, sugerenecias y hasta criricas se aceptan
, bueno espero su apoyo de ante mano Gracias a todos bye...
se me olvidaba decir el campo Activo es Boolean, por eso es q pongo condicion "2" para mostrar todo...
Código:
CREATE PROC BUSCAR
@CLIE_COD NVARCHAR(5),
@CLIE_NOMBRE NVARCHAR(60),
@CLIE_RUC NVARCHAR(11),
@CLIE_Activo INT
AS
IF @CLIE_COD = ''
BEGIN
IF @CLIE_NOMBRE = ''
BEGIN
IF @CLIE_RUC = ''
BEGIN
PRINT 'CLIENTE NO REGISTRADO'
END
ELSE
BEGIN
IF @CLIE_Activo = 2
BEGIN
SELECT * FROM CLIENTE WHERE CLIE_RUC LIKE @CLIE_RUC + '%'
END
ELSE
BEGIN
SELECT * FROM CLIENTE WHERE CLIE_RUC LIKE @CLIE_RUC + '%'and CLIE_Activo = @CLIE_Activo
END
END
END
ELSE
BEGIN
IF @CLIE_Activo = 2
BEGIN
SELECT * FROM CLIENTE WHERE CLIE_NOMBRE LIKE @CLIE_NOMBRE + '%' ORDER BY CLIE_NOMBRE
END
ELSE
BEGIN
SELECT * FROM CLIENTE WHERE CLIE_NOMBRE LIKE @CLIE_NOMBRE + '%' and CLIE_Activo = @CLIE_Activo ORDER BY CLIE_NOMBRE
END
END
END
ELSE
BEGIN
IF @CLIE_Activo = 2
BEGIN
SELECT * FROM CLIENTE WHERE CLIE_COD LIKE @CLIE_COD + '%'
END
ELSE
BEGIN
SELECT * FROM CLIENTE WHERE CLIE_COD LIKE @CLIE_COD + '%' and CLIE_Activo = @CLIE_Activo
END
END
GO