Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

case anidados

Estas en el tema de case anidados en el foro de Oracle en Foros del Web. Buenas dias tardes o noches, tengo un problemilla con un case la verdad no se si sera sintaxis o simplemente intento hacer una averracion, este ...
  #1 (permalink)  
Antiguo 15/12/2009, 11:26
Avatar de xrax063  
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 11 años, 3 meses
Puntos: 0
case anidados

Buenas dias tardes o noches, tengo un problemilla con un case la verdad no se si sera sintaxis o simplemente intento hacer una averracion, este es el "caso"

CASE variable1
WHEN NULL THEN
CASE variable2
WHEN NOT NULL THEN
instruccion1;
ELSE
NULL;
END CASE;
ELSE
CASE variable2
WHEN NULL THEN
instruccion2;
ELSE
NULL;
END CASE;
END CASE;


La cuestion es que tengo dos variables y necesito
*si la primera no existe y la segunda si
instruccion1
*si la primera existe y la segunda no
instruccion2
*si ambas existen o ninguna que no haga nada

Gracias.
  #2 (permalink)  
Antiguo 15/12/2009, 11:35
 
Fecha de Ingreso: septiembre-2009
Mensajes: 111
Antigüedad: 11 años, 1 mes
Puntos: 3
Respuesta: case anidados

POrque no Agregas IF(Según Tu lógica.. esto es lo que quieres no?):

Código C++:
Ver original
  1. if(variable1=null)
  2. {
  3.     if(variable2!=null)
  4.     {
  5.         Instruccion1;  
  6.     }
  7. }
  8. else
  9. {
  10.     if(variable2==null)
  11.     {
  12.         Instruccion2;
  13.     }
  14. }

Saludos!
__________________
Si caminas por la Senda del Conocimiento... y una Luz en la Oscuridad Ilumina tu Camino... No seas cu#[email protected] y compártela.
  #3 (permalink)  
Antiguo 15/12/2009, 11:46
Avatar de xrax063  
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: case anidados

mmm pues fue lo primero que intente :s perooo.. gracias lo volvere a intentar,

aun asi quisiera saber si anidar case es posible o util.



__________________________________________________ _____________________



jeje sieh toda la razon tenia un error en el primer intento de if pero asi si corrio :D

muchas gracias, sobre todo por la pronta respuesta mad249!!! :D

Última edición por xrax063; 15/12/2009 a las 11:56
  #4 (permalink)  
Antiguo 15/12/2009, 14:59
 
Fecha de Ingreso: septiembre-2009
Mensajes: 111
Antigüedad: 11 años, 1 mes
Puntos: 3
De acuerdo Respuesta: case anidados

Cita:
Iniciado por xrax063 Ver Mensaje
mmm pues fue lo primero que intente :s perooo.. gracias lo volvere a intentar,

aun asi quisiera saber si anidar case es posible o util.



__________________________________________________ _____________________



jeje sieh toda la razon tenia un error en el primer intento de if pero asi si corrio :D

muchas gracias, sobre todo por la pronta respuesta mad249!!! :D
De nada.. me alegro que te sirva.. para eso es el Foro...

Saludos!!!.


Atte. yo.

Pd. Se Acepta KARMA
__________________
Si caminas por la Senda del Conocimiento... y una Luz en la Oscuridad Ilumina tu Camino... No seas cu#[email protected] y compártela.
  #5 (permalink)  
Antiguo 22/12/2009, 07:08
Avatar de 8vio  
Fecha de Ingreso: marzo-2008
Ubicación: Detras del monitor
Mensajes: 168
Antigüedad: 12 años, 7 meses
Puntos: 6
Respuesta: case anidados

CASE variable1
WHEN NULL THEN
CASE variable2
WHEN NOT NULL THEN
instruccion1;
ELSE
NULL;

END CASE;
ELSE
CASE variable2
WHEN NULL THEN
instruccion2;
ELSE
NULL;
END CASE;
END CASE;

En donde dice WHEN NOT NULL, coloca WHEN NULL THEN y haces la instruccion NULL que tienes en el else y en el else haces la instruccion1 y asi funciona.

Saludos.
  #6 (permalink)  
Antiguo 08/01/2010, 09:12
Avatar de xrax063  
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: case anidados

valeh ya lo probe si sirvio, muchas gracias :)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 02:21.