Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-03-2012
ALVARO RUBIO ALVARO RUBIO is offline
Miembro
NULL
 
Registrado: feb 2012
Posts: 23
Poder: 0
ALVARO RUBIO Va por buen camino
Correcion De Datos Basado En Una Tabla Anterior

Gracias por la colaboracion.

Tengo una base de datos en Interbase 7.5, dentro de la base entre otras tengo una tabla que se llama facturas, dentro de las facturas tengo las facturas tengo el tipo (tipo) que toman el valor F1, si son de contado y F4 si son de credito, el vendedor(Vend), la fecha (Fecha)y el numero (Bath) entre otros. Tengo una tabla que se llama clientes, que entre otros campos tiene NIT (Nit, Nombre del cliente (nombre), Vendedor (Vend).

Cometi un error y reemplaze el vendedor en las facturas tipo F1, cuando solo debia ser en las de tipo F4.

Tengo un backup de la base de datos, de una hora antes de hacer el cambio. Me podrian indicar si se puede tomar la tabla FACTURAS del backup, colocarla en la base de datos actual como tabla facturas1 y luego con un SQL, decirle que le coloque el vendedor de la tabla facturas1 en la tabla FACTURAS, para todos las F1 cuyo numero en Facturas sea igual al numero en Facturas1.

Uso la herramienta SQL explores y he usado alguna vez IBPUMP, se podria con esta herramientas o cual seria laoptima.

Gracias
__________________
Alvaro Rubio R
Responder Con Cita
  #2  
Antiguo 06-03-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Alvaro.

Pareciera más simple restaurar el backup y rehacer la modificación, contemplando en la sentencia SQL que el tipo de factura sea igual a F4.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 06-03-2012
ALVARO RUBIO ALVARO RUBIO is offline
Miembro
NULL
 
Registrado: feb 2012
Posts: 23
Poder: 0
ALVARO RUBIO Va por buen camino
Gracias

Despues del Backup se han realizado documentos en muchas otras tablas y se tendria que involucrar a mas personal para volver a colocar los documentos nuevos, ademas de que se tendria que detener la operacion para restaurar y hacer la actualizacion.

Alvaro Rubio
__________________
Alvaro Rubio R
Responder Con Cita
  #4  
Antiguo 06-03-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Entiendo.

Firebird permite restaurar a una nueva base de datos, pero desconozco si Interbase tiene esa posibilidad. Si fuera así, creo que una alternativa sería sobreescribir la tabla errónea tomando los datos desde la recuperada.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 06-03-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por ALVARO RUBIO Ver Mensaje
ademas de que se tendria que detener la operacion para restaurar y hacer la actualizacion.
Evidentemente, no queda otra opción si quieres hacerlo bien.
Puedes usar programas como ibpump para pasar los datos de una bd a otra, aunque siempre tendrán que parar de trabajar, obligatoriamente.
Responder Con Cita
  #6  
Antiguo 06-03-2012
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Puedes generar un script update con los datos de la base backup:
Código SQL [-]
select 'update facturas set vendedor='||vendedor||' where bath='||bath||';' from facturas
Este select debería devolverte muchas lineas que puedes exportar a un fichero de texto y ejecutarlo en la base en la que has cometido el error.
Ten en cuenta que quizás debas desactivar algunos triggers:
Código SQL [-]
alter trigger facturas_bu0 inactive;

update facturas set vendedor=1 where bath=1;
update facturas set vendedor=3 where bath=2;
update facturas set vendedor=2 where bath=3;
update facturas set vendedor=5 where bath=4;
update facturas set vendedor=1 where bath=5;
...

alter trigger facturas_bu0 active;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Correcion de codigo JuanOrtega Internet 0 28-09-2011 02:47:06
Reporte basado en un query Puberta Varios 5 01-02-2008 18:22:04
Estado Anterior de una Tabla amadis Conexión con bases de datos 3 07-11-2006 20:42:12
Editor de Texto Basado en HTML sitrico Varios 2 29-08-2006 22:44:25
Actualizar tabla en un DBGrid basado en un Query RyAr Conexión con bases de datos 4 02-07-2004 11:25:14


La franja horaria es GMT +2. Ahora son las 21:21:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi