Ver Mensaje Individual
  #1  
Antiguo 14-09-2015
jars jars is offline
Miembro
 
Registrado: mar 2004
Posts: 279
Reputación: 21
jars Va por buen camino
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:

Código SQL [-]
BEGINTRANSACCTION
INSERT INTO H_TABLA1  SELECT * FROM TABLA1 WHERE LOGINDATE <= '20140914'
// luego
DELETE FROM TABLA1 WHERE LOGINDATE <= '20140914'
COMMIT

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.
Responder Con Cita