Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-05-2013
Avatar de Cristhor1982
Cristhor1982 Cristhor1982 is offline
Miembro
NULL
 
Registrado: dic 2012
Posts: 60
Poder: 12
Cristhor1982 Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 29-05-2013
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Hasta donde tengo entendido, no es posible eso que quieres hacer, pero lo podrías realizar mediante un procedimiento almacenado.


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #3  
Antiguo 29-05-2013
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
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
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 29-05-2013
Avatar de Cristhor1982
Cristhor1982 Cristhor1982 is offline
Miembro
NULL
 
Registrado: dic 2012
Posts: 60
Poder: 12
Cristhor1982 Va por buen camino
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 Ver Mensaje
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
Responder Con Cita
  #5  
Antiguo 29-05-2013
Avatar de Cristhor1982
Cristhor1982 Cristhor1982 is offline
Miembro
NULL
 
Registrado: dic 2012
Posts: 60
Poder: 12
Cristhor1982 Va por buen camino
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 Ver Mensaje
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
Responder Con Cita
  #6  
Antiguo 29-05-2013
Avatar de Cristhor1982
Cristhor1982 Cristhor1982 is offline
Miembro
NULL
 
Registrado: dic 2012
Posts: 60
Poder: 12
Cristhor1982 Va por buen camino
Lo que utilice

and ((@variable = 2) OR (@variable <> 2 And campo = @variable))


Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Calcular saldo linea a linea fwhite Varios 1 27-02-2012 17:14:30
Impresion linea por linea en tiquete de caja Livey Impresión 2 21-12-2010 00:21:05
Ejecutar store procedure desde linea de comando. mcalmanovici Firebird e Interbase 6 21-12-2007 15:13:33
mostrar fichero linea a linea torete_86 C++ Builder 4 30-01-2006 20:14:39
¿Cómo borrar un grid sin tener que ir línea a línea? Isaac Varios 2 18-02-2004 16:13:14


La franja horaria es GMT +2. Ahora son las 06:47: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
Copyright 1996-2007 Club Delphi