FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Respaldo con condicional
Hola,
Tengo esta situacion, aver si se les ocurre como solucionarlo. Tengo una base de datos que tiene informacion desde el año 2003, asi que son ya 7 años de estar acumulando "polvo". Mi intencion es hacer el respaldo *solo* del 2003 al 2008, y de esa manera proceder a borrarlo de la base de datos y solo quedarme con los años 2009 y 2010. Hay alguna funcion que me permita hacer el respaldo con la instruccion "where year(fecha) < 2009" ? Uso Delphi 7 y MySQL V5 Tengo esta pequeña solucion pero no me gusta y por eso pido ayuda: 1. Hacer el respaldo de TODO (años 2003-2010) 2. Borrar con algo como "delete from tabla where fecha>2008" (se borra 2009 y 2010, queda 2003 al 2008) 3. Volver a hacer el respaldo, en este caso ya solo tendria los años 2003 a 2008 4. Restaurar el respaldo que se hizo en el paso 1 (todo de regreso otra vez) 5. Borrar con algo como "delete from tabla where fecha<2009" (borro del 2003 al 2008, me quedo con 2009 y 2010) |
#2
|
||||
|
||||
copia el archivo de tú base de datos
por que no haces un formulario donde hagas un respaldo de tú base de datos a tú archivo respaldado aplicas tú filtro de eliminar los recientes y después vuelves a cargar la de uso y eliminas los registros viejos
|
#3
|
||||
|
||||
Respuesta
HOLA NO SE QUE BASE DE DATOS UNSAS PERO PARA MI QUE LO MAS CONVENIENTE
ES CREAR EL RESPALDO CON LA SIGUIENTE CONDICION SELECT * INTO [nombre_tabla_respaldo) FROM tabla_origen WHERE anño<2008 y bueno a la tabla original le hace un delete delete from tabla original where año<2008. creo que con eso quedaria. ahora si lo quieres hacer por delphi pues puedes hacer la consulta con un adoquery. y posteriormente ir recorriendo los registros para irlos insertando en la tabla. |
#4
|
|||
|
|||
Select...Into.... mmmh, si eso podria funcionar.
Gracias, voy a probar por ese lado. |
#5
|
|||
|
|||
Aqui ya encontre la solucion. Gracias a microbiano por darme una pista.
Encontre algo muy interesante, estoy seguro que en la escuelita debieron habermelo enseñado pero como nunca lo uso.... se puede hacer : create table mitabla select * from mitabla2 where (condicion); esto crea una table nueva llamada "mitabla" con los mismos campos que "mitabla2" y de paso copia los datos de "mitabla2" a "mitabla" que cumplan con la condicion. TODO EN UN SOLO PASO!! esta chido. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problemas de condicional If | whatson | Varios | 7 | 18-08-2010 21:57:15 |
Existe el Operador Condicional ? | JordiP | Varios | 9 | 17-06-2010 12:42:39 |
si condicional en interbase??? | GustavoCruz | Firebird e Interbase | 3 | 18-11-2008 21:10:08 |
Compilador Condicional | sercornejov | Varios | 4 | 22-09-2007 01:14:08 |
locate condicional | gatsoft2 | Varios | 10 | 06-05-2005 16:57:37 |
|