Les ‘tables externes’ sont des structures Oracle qui pointent sur un fichier externe a la base et sur lesquelles on peut faire du SQL
Voici un exemple de script de chargement de emp a partir d’un fichier externe CSV
– creer un repertoire oracle de travail
– associe au repertoire ou se trouve le fichier d’entree
–
create or replace directory dossier_temp as ‘/tmp’
/
drop table table_externe_emp
/
– creer une ‘table’ externe attachee au fichier d’entree
–
create table table_externe_emp
(EMPNO NUMBER(4) ,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7, 2),
COMM NUMBER(7, 2),
DEPTNO NUMBER(2)
)
ORGANIZATION EXTERNAL
( type oracle_loader
default directory dossier_temp
access parameters
( records delimited by newline
badfile ‘charge_emp.bad’
logfile ‘charge_emp.log’
fields terminated by ‘;’
)
location (’emp.csv’)
)
– attention c’est important sinon ca marche moins bien !
reject limit unlimited
/
– et on insere dans la table destination si elle existe
insert into mon_emp
select * from table_externe_emp
/
commit
