Ver Mensaje Individual
  #9  
Antiguo 17-07-2013
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 585
Reputación: 20
jafera Va por buen camino
Bunos dia a todos.

Gracias por los ánimos, no voy a abandonar el barco, soy el capitán y me hundo con él, jejeje...

Siguiendo con el problema paso a detallar la creación de las tablas:

Tabla temporal donde cargo el archivo txt nacional (a dia de hoy +o- 60.000 registros)

Código SQL [-]
 
CREATE TABLE "CTR0003E" 
(
  "C1" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C2" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C3" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C4" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C5" VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C6" VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C7" VARCHAR(20) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C8" VARCHAR(3) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C9" VARCHAR(3) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C10" VARCHAR(12) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C11" VARCHAR(12) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C12" VARCHAR(2) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C13" VARCHAR(12) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C14" VARCHAR(30) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C15" VARCHAR(3) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C16" VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C17" VARCHAR(15) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C18" VARCHAR(15) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C19" VARCHAR(15) CHARACTER SET ISO8859_1 COLLATE ES_ES
);

Tabla temporal donde cargo el archivo txt autonomico, (a dia de hoy +o- 20.000 registros de los que muchos estan en el txt nacional)

Código SQL [-]
 
CREATE TABLE "CTR0003C" 
(
  "C1" VARCHAR(3) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C2" VARCHAR(20) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C3" VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C4" VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C5" VARCHAR(20) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C6" VARCHAR(3) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C7" VARCHAR(14) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C8" VARCHAR(12) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C9" VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C10" VARCHAR(3) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C11" VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "C12" VARCHAR(12) CHARACTER SET ISO8859_1 COLLATE ES_ES
);

Tabla destino donde debo insertar o actualizar los datos procedentes primero de la nacional y luego los que no existan de la autonomica

Código SQL [-]
 
CREATE TABLE "CTR0003" 
(
  "ID_CORREDOR" INTEGER NOT NULL,
  "DORSAL" INTEGER,
  "DORSAL2" INTEGER,
  "COGNOM1" VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "COGNOM2" VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "NOM" VARCHAR(20) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "CODI_CAT" INTEGER,
  "NACIO" VARCHAR(3) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "LLICENCIA" VARCHAR(14) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "DNI" VARCHAR(12) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "CODIUCI" VARCHAR(12) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "CODI_CLUB" INTEGER,
  "CLUB" VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "ABR_CLUB" VARCHAR(3) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "PUBLICITAT" VARCHAR(25) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "SEXE" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "FEDERAT" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
  "DATA_NAIX" DATE,
  "EDAT" INTEGER,
  "CATEGORIA" VARCHAR(5) CHARACTER SET ISO8859_1 COLLATE ES_ES
);

A ver si así se puede ver de una forma más clara que proceso debo realizar para llenar esta tabla CTR0003 con los datos de CTR0003E y luego con los que no estén en CTR0003E de CTR0003C

Saludos y gracias por vuestro tiempo

Josep
Responder Con Cita