Ver la Versión Completa : Ejecutar o no una linea sql
Cristhor1982
29-05-2013, 16:49:07
Amigos
Tengo una duda, es posible ejecutar o no ejecutar una linea de una consulta sql
Por ejemplo si tengo un proc almacenado
linea 1 -----select * from tabla
linea 2 -----where campo=@variable1
Aquí por ejemplo preguntar si @variable2 es lo que yo que quiero ejecute o no la linea 3
linea 3 -----and campo1=@variable2
linea 4 -----and campo2=@variable2
se entiende?...:S
Me imagino que con un if...
Algo asi como
If @variable = 'dato' then
linea 3 ----- campo=@variable
else
linea 4 ----- campo=@variable
end
Saludos
maeyanes
29-05-2013, 17:10:53
Hola...
Hasta donde tengo entendido, no es posible eso que quieres hacer, pero lo podrías realizar mediante un procedimiento almacenado.
Saludos...
Dentro del proc. almacenado sí, pero ¿de qué hablamos? Firebird, Sql Server, ... la sintaxis es tal y como has puesto en el ejemplo. Habrá que buscar según tu motor.
Saludos
Cristhor1982
29-05-2013, 17:46:10
Hola Lepe
Mmmm, es en SQL SERVER 2000
Lo que acabo de poner no funciona llevo un rato tratando de hacer algo y no pasa nada
Saludos
Dentro del proc. almacenado sí, pero ¿de qué hablamos? Firebird, Sql Server, ... la sintaxis es tal y como has puesto en el ejemplo. Habrá que buscar según tu motor.
Saludos
Cristhor1982
29-05-2013, 18:50:28
Me explico un poco mejor,
Desde delphi una variable puede tomar 3 valores (0-1-2)
osea podria venir asi
@variable=0 //@variable=1// @variable:2
cuando es 0 y 1
quiero que se ejecute esta consulta
if @variable <>2
begin
select *
from tabla
where campo = @variable1
and variable = @variable
end
else
begin
select *
from tabla
where campo = @variable1
end
encuentro que repetir la consulta completa esta mal, lo que necesitaria es que pregunte en la consulta misma, algo asi
select *
from tabla
where campo = @variable1
if @variable <>3
begin
and variable = @variable
end
else
no ejecuta la linea AND Variable =@variable
begin
end
me gustaria saber si hay alguna opcion o algo cercano a eso
SALUDOS
Hola Lepe
Mmmm, es en SQL SERVER 2000
Lo que acabo de poner no funciona llevo un rato tratando de hacer algo y no pasa nada
Saludos
Cristhor1982
29-05-2013, 21:10:02
Lo que utilice
and ((@variable = 2) OR (@variable <> 2 And campo = @variable))
Saludos
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.