Para nada es recomendable tener código embebido en las aplicaciones
por temas de seguridad específicamente.
La forma correcta es la que propusieron anteriormente embebida en un
stored procedure con parametros o usando un if para mejorar
eventualmente el plan de ejecucion.
.
create procedure proc1(
@ltodo tynyint,
@lfiltro varchar(20)
)
as
If @ltodo = 1
begin
SELECT * FROM tabla
end
else
begin
SELECT * FROM tabla WHERE campoafiltrar = @lfiltro
end
--------------------------------
Atte.
Ing. Jose Mariano Alvarez
SQL Total Consulting
2008/10/28 Alfonso Arias Lemas <[EMAIL PROTECTED]>:
> excelente José Luis me adivinaste el pensamiento.......
>
> ________________________________
> De: José Luis <[EMAIL PROTECTED]>
> Para: Alfonso Arias Lemas <[EMAIL PROTECTED]>
> Enviado: martes, 28 de octubre, 2008 15:57:24
> Asunto: [dbms] Consulta uso de IF
>
>
>
> Seria algo axial,
>
>
>
> ltodo = .t. o .f. (puede ser 1 o 0)
>
> lfiltro = '01'
>
>
>
> if ltodo = false o true ( a tu eleccion)
>
>
>
> SELECT * FROM tabla WHERE campoafiltrar = lfiltro
>
> Else
>
> SELECT * FROM tabla
>
> Endif
>
>
>
>
>
>
>
> Atte, José Luis Agosta
>
> S.J.L. Soft Computación
>
> ________________________________
>
> De: [email protected] [mailto: [email protected] ] En nombre de Vladimir Damian
> Enviado el: Martes, 28 de Octubre de 2008 14:44
> Para: [EMAIL PROTECTED]
> Asunto: [dbms] Consulta uso de IF
>
>
>
> Como seria eso:
>
> la verdad no entiendo, talvez un ejemplo basico para pescar la idea
>
>
>
> Gracias
>
>
>
> Vladimir
>
> El 27 de octubre de 2008 17:54, Alfonso Arias Lemas <[EMAIL PROTECTED]>
> escribió:
>
> por qué no preparas la cadena en fox segun sea la condicion y despues haces
> la peticion al SQL segun sea el caso.
>
>
>
> ________________________________
>
> De: Vladimir Damian <[EMAIL PROTECTED]>
> Para: Alfonso Arias Lemas <[EMAIL PROTECTED]>
> Enviado: lunes, 27 de octubre, 2008 13:57:08
> Asunto: [dbms] Consulta uso de IF
>
> Amigos:
>
> Presento un caso:
>
> cuando hago una consulta bajo condiciones definidas por el usuario en Fox
> hago algo como esto:
>
> ltodo = ..t. o .f.. (puede ser 1 o 0)
>
> lfiltro = '01'
>
> SELECT * FROM tabla WHERE IIF(ltodo, .t. , campoafiltrar = lfiltro)
>
> donde si elige ltodo = .t. trae todos los datos pero si ltodo = .f. entonces
> entra a funcionar el filtro
>
> Como se armaria la consulta con el Sql?
>
>
>
> Regards,
> Vladimir Damian
>
>
>
>
> --
> Regards,
> Vladimir Damian
> Nextel 404*1429
> Phone 990317381
>