Realizar Cargas de Datos de un Fichero a Varias Tablas y de Varios Ficheros a una Tabla.
Primer ejemplo:
Varios ficheros → 1 tabla
Creamos los ficheros a cargar: Siglas país, código referencia
Cargamos los datos dentro de la tabla países
CREATE TABLE paises ( pais VARCHAR2(10), ref_id VARCHAR2(10) constraint paisespk primary key );
Creamos el fichero de control paises.ctl
LOAD DATA INFILE 'C:\SQL_LOADER\orden1.csv' INFILE 'C:\SQL_LOADER\orden2.csv' INFILE 'C:\SQL_LOADER\orden3.csv' INSERT INTO TABLE paises WHEN pais = 'IND' ( pais CHAR TERMINATED BY ',' , ref_id CHAR TERMINATED BY ',' )
Realización del ejemplo anterior:
Visualizacion del fichero Log creado:
Ejemplo 2:
1 fichero → Varias tablas. Creamos la tabla emp1000 y la tabla emp2000
Fichero de control multitablas.scv
LOAD DATA INFILE * INTO TABLE empdallas INSERT WHEN (deptno='dallas') FIELDS TERMINATED BY “,” (empno INTEGER(4), ename CHAR(10), sal DECIMAL EXTERNAL(7), deptno CHAR(10)) INTO TABLE texas INSERT WHEN (deptno='texas') FIELDS TERMINATED BY “,” (empno INTEGER(4), ename CHAR(10), sal DECIMAL EXTERNAL(7), deptno CHAR(10)) BEGINDATA 1234,BAKER,9999,dallas 1334,JOKER,9299,texas 2664,YOUNG,2893,dallas 5321,OTOOLE,1099,dallas 2134,FARMER,4555,dallas 2414,LITTLE,5634,texas 6542,LEE,4532,texas 2849,EDDS,3555,dallas 4532,PERKINS,2999,texas 1244,HUNT,3452,texas 1235,DOOLITTLE,9940,dallas 1453,MACDONALD,1532,texas
Hacemos llamada a sqlldr: