Stored Procedures (SQL Server)
Hola, tengo un problema que no se si tiene una soluci贸n simple pero espero que s铆 y que alguien me pueda ayudar. El problema es que tengo un stored procedure con una consulta de SELECT y necesito pasarle como par谩metro toda la condici贸n (que la tengo como un string en una variable de mi sistema) para aplicar filtros sobre los datos.
Ejemplo:
CREATE Procedure viewClientes
@Condicion varchar(200)
AS
SELECT * FROM CLIENTES
WHERE @Condicion
Return
Donde a @Condicion le voy a pasar como valor un string como los siguientes:
- Edad > 20
- Nombre LIKE 'Car%" AND Sexo = 'Femenino'
- FechaIngreso BETWEEN #1/1/2004# AND #31/12/2004#
O cualquier condici贸n que al usuario se le ocurra
No s茅 si se entiende lo que quiero hacer, pero el sql no lo entiende, me da un error al poner "WHERE @Condicion". Hay alguna forma de hacerlo?
Muchas gracias.
Javier
Ejemplo:
CREATE Procedure viewClientes
@Condicion varchar(200)
AS
SELECT * FROM CLIENTES
WHERE @Condicion
Return
Donde a @Condicion le voy a pasar como valor un string como los siguientes:
- Edad > 20
- Nombre LIKE 'Car%" AND Sexo = 'Femenino'
- FechaIngreso BETWEEN #1/1/2004# AND #31/12/2004#
O cualquier condici贸n que al usuario se le ocurra
No s茅 si se entiende lo que quiero hacer, pero el sql no lo entiende, me da un error al poner "WHERE @Condicion". Hay alguna forma de hacerlo?
Muchas gracias.
Javier
lo que pasa es que una variable no es una condici贸n
pruebalo de la siguiente manera
CREATE Procedure viewClientes
@Condicion varchar(200)
AS
Declare
@SqlText Varchar(500)
select @Condicion
Select @SqlText = " SELECT * FROM CLIENTES "
Select @SqlText = @SqlText + " WHERE " + ltrim(rtrim(@Condicion))
exec (@SqlText)
pruebalo de la siguiente manera
CREATE Procedure viewClientes
@Condicion varchar(200)
AS
Declare
@SqlText Varchar(500)
select @Condicion
Select @SqlText = " SELECT * FROM CLIENTES "
Select @SqlText = @SqlText + " WHERE " + ltrim(rtrim(@Condicion))
exec (@SqlText)
