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

generar query que actualize los campos de un campo por el otro

Estas en el tema de generar query que actualize los campos de un campo por el otro en el foro de Bases de Datos General en Foros del Web. Hola saludos a todos necesito generar una query que me cambie los valores de 2 campos ejemplo: fecha 1 fecha 2 2005 2008 2005 2008 ...
  #1 (permalink)  
Antiguo 18/03/2009, 05:00
Avatar de jair20x  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid - España
Mensajes: 532
Antigüedad: 18 años, 11 meses
Puntos: 1
generar query que actualize los campos de un campo por el otro

Hola saludos a todos
necesito generar una query que me cambie los valores de 2 campos
ejemplo:




fecha 1 fecha 2
2005 2008
2005 2008
2005 2008
2005 2008

los cambie por

fecha 1 fecha 2
2008 2005
2008 2005
2008 2005
2008 2005


Saludos codiales
  #2 (permalink)  
Antiguo 18/03/2009, 07:11
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 8 meses
Puntos: 360
Respuesta: generar query que actualize los campos de un campo por el otro

Una posible solución puede ser crear un campo temporal en la tabla llamado fecha_temp.

//creas campo temporal en tabla.
alter table fechas add column(fecha_temp datetime);

//Aca llenas el campo con los valores de fecha1.
update fechas set fecha_temp = fecha1;

//aca pasas a fecha1 lo de fecha2 y a fecha2 lo de fecha_temp
update fechas set fecha1 = fecha2, fecha2 = fecha_temp;

//vuelves a borrar el campo temporal.
alter table fechas drop column fecha_temp;


Espero haberte ayudado.
  #3 (permalink)  
Antiguo 18/03/2009, 08:49
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 9 meses
Puntos: 57
Respuesta: generar query que actualize los campos de un campo por el otro

Has intentado con una sentencia normal como cualquier otra de actualizacion?

Código:
update tabla set fecha1=fecha2,fecha2=fecha1 where ...
Yo acabo de intentarlo en Oracle y funciona correctamente. Supongo que, como primero se actualizan los campos y luego se hace el commit, por eso cuando asignas los valores de un campo al otro, aun tienen los valores originales y no el valor por el que quieres actualizar
  #4 (permalink)  
Antiguo 18/03/2009, 09:32
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 8 meses
Puntos: 360
Respuesta: generar query que actualize los campos de un campo por el otro

En mysql particularmente, no sucede esto.
En postgres si funciona como tu dices.

Un saludo.
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




La zona horaria es GMT -6. Ahora son las 17:55.