Tema: Reducir sp
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/01/2009, 08:10
JuanjoXtrem
 
Fecha de Ingreso: enero-2009
Mensajes: 1
Antigüedad: 16 años
Puntos: 0
Reducir sp

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