Hola amigos todos
He escuchado mas de una vez que los Query's Dinamicos no deben utilizarse o
tratar de utilizarlos lo menos posible.
Esta pregunta ya la hice antes, ¿Como crear un STORE de Busqueda donde el
usuario tiene multiples opciones de busqueda?
Ejemplo: Buscando al CLIENTE por NOMBRE, CODIGO POSTAL o TELEFONO.
/* INICIO DE CODIGO
CREATE PROCEDURE pr_BuscandoCliente
@NOMBRE VARCHAR(60),
@CP CHAR(5),
@TELEFONO CHAR(10)
AS
SET NOCOUNT ON
DECLARE @SQLString NVARCHAR(1000), @WHERE NVARCHAR(100), @Count_rec INT
SET @WHERE = CASE
WHEN LEN(@NOMBRE) > 0 THEN ' WHERE cNombre LIKE ' + @NOMBRE + '%'
WHEN LEN(@CP) > 0 THEN ' WHERE cCP = ' + @CP
THEN ' WHERE TELEFONO = '+@TELEFONO END
SET @SQLString = N'SELECT @Count_rec = COUNT(CLIENTE.iCTEID) FROM CLIENTE '
+ @WHERE
EXEC sp_executesql @SQLString, N'@Count_rec INT OUTPUT', @Count_rec @Count_rec OUTPUT
IF @Count_rec = 0
BEGIN
SELECT -1, 'El Cliente no existe'
RETURN(0)
END
SET @SQLString = N'SELECT cNombre, cDireccion, cCP, cTelefono FROM CLIENTE '
+ @WHERE
EXEC sp_executesql @SQLString
IF @@ROWCOUNT = 0
BEGIN
SELECT -1, 'Error al obtener los datos del cliente.
RETURN(0)
END
*/ FIN DE CODIGO
Leer las respuestas