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
|
|||
|
|||
Pasaje de registros a tabla histórica
Hola amigos.
En una BBDD de estadísticas hay varias tablas que recogen una gran cantidad de registros diariamente y el cliente quiere poder sacar informes de los últimos 3 años. Ante esto, nota que algunos informes se estan demorando y supongo que es por la cantidad de registros. Mi intención es darle al cliente la posibilidad de ingresar una fecha de depuración de las tablas de producción para pasar todos estos registros a tablas históricas en la misma BBDD. Todas las tablas tienen índices y Unique-Keys y las históricas son replicas exactas. Lo haría de desde un programa Delphi 7 y una vez que ingrese la fecha ejecutaría para cada tabla:
Mi preocupación es como manejar si ocurre alguna excepción. Como esta programado se que el commit se hara si tanto insert como delete funciono correctamente, pero no tendría forma de saber que registro tuvo problemas. Estas depuraciones pueden ser de varios cientos de miles de registros, que mecanismo me sugieren? Gracias de antemano. |
#2
|
||||
|
||||
Si lo vas a hacer desde Delphi basta con unsar un Try..except, junto con Commit/Rollback.
La estructura sería algo así:
por otro lado, si vas a "mover" muchos miles de registros, es posible que te sea bastante más eficiente realizare sas operaciones desde la Base de Datos, utilizando SP's.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Gracias Neftali pero usando:
Creo que no tengo forma de capturar el registro que dio error y tengo entendido que hacer el insert de esta forma es mas rapido que hacerlo registro por registro. Es asi o estoy equivocado?. Gracias. |
#4
|
||||
|
||||
Haz antes un backup. Luego pruebas.
¿Has dicho qué base de datos usas? |
#5
|
|||
|
|||
El motor es Firebird 2.5
|
#6
|
||||
|
||||
Cita:
No, no estás equivocado. Pido disculpas, porque no leí correctamente la pregunta y entendí otra cosa.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#7
|
||||
|
||||
Y porque tardan los informes? Yo recuerdo que una vez tenía un listado de caja que era lentísimo y era porque calculaba los suma y sigue desde Delphi en un while. Movi eso a un simple SUM en la consulta sql y ahora el listado se abre al instante para algunos millones de registros
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Update registros de columna1 de tabla A con registros de columna1 de tabla B | soldierxp | Firebird e Interbase | 0 | 08-09-2013 16:45:09 |
Cifra histórica...... | egostar | La Taberna | 76 | 24-11-2008 05:40:06 |
enviar registros de una tabla a un campo de otra tabla a travez de ciclo IF en MYSQL | CLUSTERBIT | SQL | 8 | 23-10-2008 15:50:03 |
Problema con pasaje de .AVI a .BMP | zugazua2001 | Varios | 2 | 09-07-2005 03:44:10 |
Seleccionar registros en una tabla, envio, e insercion en otra tabla!! | EfrainSanmiguel | Conexión con bases de datos | 3 | 21-10-2004 01:12:43 |
|