Oracle - como guardar datos durante un tiempo

 
Vista:

como guardar datos durante un tiempo

Publicado por felipe (4 intervenciones) el 15/12/2010 17:05:25
Hola Todos

Estoy haciendo una aplicacion en donde recivo datos de un programa por ODBC, la adquisiuon de datos ya esta hecha, pero le spido ayuda porque necesito que la tabla en donde se almacenen lso datos me guarde informacion por dos años, es decir que los datos amyores de 2 años se borren automaticamente, pero no tengo ni la mas remota idea de como hacer esto en oracle solo se crear tablas e ingresar datos:

Muchisimas gracias por su colaboracion

Felipe
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
sin imagen de perfil
Val: 6
Ha aumentado su posición en 7 puestos en Oracle (en relación al último mes)
Gráfica de Oracle

RE:como guardar datos durante un tiempo

Publicado por Leonardo Josué (46 intervenciones) el 16/12/2010 16:42:03
Buenos días Felipe.

Puedes utilizar la función MONTHS_BETWEEN para obtener el número de meses existentes entre la fecha actual y la fecha del registro.

--Comparando la fecha del 15 de Diciembre de 2008 contra la fecha actual
select months_between(sysdate, to_date('20081215', 'yyyymmdd')) from dual;

MONTHS_BETWEEN(SYSDATE,TO_DATE('20081215','YYYYMMDD'))
------------------------------------------------------
24.04532183393070489844683393070489844683

--Comparando la fecha del 16 de Diciembre de 2008
select months_between(sysdate, to_date('20081216', 'yyyymmdd')) from dual;

MONTHS_BETWEEN(SYSDATE,TO_DATE('20081216','YYYYMMDD'))
------------------------------------------------------
24

--Comparando la fecha del 17 de diciembre de 2008
select months_between(sysdate, to_date('20081217', 'yyyymmdd')) from dual;

MONTHS_BETWEEN(SYSDATE,TO_DATE('20081217','YYYYMMDD'))
------------------------------------------------------
23.98081989247311827956989247311827956989

De esta manera, para borrar los registros con más de 2 años de antigüedad puedes hacerlo así:

DELETE FROM TuTabla
WHERE MONTHS_BETWEEN(SYSDATE, CampoFecha) > 24

Obviamente tendrías que ejecutar esta rutina todos los días y hay que tener mucho cuidado de que no tengas relación con otras tablas, pues te puede marcar errores de integridad.

Saludos
Leo
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
sin imagen de perfil

RE:como guardar datos durante un tiempo

Publicado por Albertops (1 intervención) el 19/12/2010 23:12:35
Aparte de la información que te facilita Leonardo , te recomiendo que hagas uso de trigger , que son los disparadores del a base de datos asociados a la tabla.
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