Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Reducir sp

Estas en el tema de Reducir sp en el foro de SQL Server en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 13/01/2009, 08:10
 
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
  #2 (permalink)  
Antiguo 13/01/2009, 14:37
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 5 meses
Puntos: 180
Respuesta: Reducir sp

Pues deberias decirnos que esperas que tu SP obtengo, por otro lado, los PRINT, no son para STORE PROCEDURE, son para el analizador de consultas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:11.