Oracle - UPDATE un poco particular

 
Vista:

UPDATE un poco particular

Publicado por Sergio (48 intervenciones) el 09/04/2003 10:57:22
Mi duda es como realizar un UPDATE un poco particular. Tengo que actualizar una tabla con tres campos (c1,c2 y c3). El update que quiero hacer sería el siguiente:

si c1 = 1 o 3 entonces
si c2 = 1,2,3,4 o 5 entonces
c3 = 7
si c2 = 6 entonces
c3 = 0
Así con los distintos valores de c1.

Hay que tener en cuenta que tengo que permitir hacer el update y el registro no puede existir. Se podría utilizar un decode en el update? Como sería entonces? Hay alguna manera mas sencilla?

Gracias anticipadas a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:UPDATE un poco particular

Publicado por DACH (258 intervenciones) el 09/04/2003 16:54:27
Hola

Si puedes realizar un decode en el update.
Lo primero que debes tener super claro es el o los valores que puede tomar c1 ya que de este valor depende según entiendo dependen los otros dos. Si es correcto lo anterior utilizar el docede no sería optimo en el update.

Te recomiendo hacerlo en un select into ya que cada valor depende del anterior....

ej:

Select Decode(Valor,x1,dato1,x2,dato2,x3,dato3........,xn,daton)
into c1_var
from dual

Select Decode(C1,x1,dato1,x2,dato2,x3,dato3........,xn,daton)
into c2_var
from dual

Select Decode(C2,x1,dato1,x2,dato2,x3,dato3........,xn,daton)
into c3_var
from dual

PD: Lo puedes hacer en un update, pero es un desorden de decode.

Salu2.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar