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