Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Ejecutar o no una linea sql (https://www.clubdelphi.com/foros/showthread.php?t=83274)

Cristhor1982 29-05-2013 16:49:07

Ejecutar o no una linea sql
 
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...

Lepe 29-05-2013 17:40:56

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

Cita:

Empezado por Lepe (Mensaje 461468)
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
Código SQL [-]
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

Código SQL [-]
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

Cita:

Empezado por Cristhor1982 (Mensaje 461470)
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


La franja horaria es GMT +2. Ahora son las 15:25:08.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi