Vous avez plusieurs problèmes ici. La cause immédiate de votre problème est que vous avez les clauses dans le mauvais ordre
, mais vous avez également MISSING FIELDS
au lieu de MISSING FIELD
:
...
ACCESS PARAMETERS
(
RECORDS DELIMITED BY newline
FIELDS TERMINATED BY ','
MISSING FIELD VALUES ARE NULL
REJECT ROWS WITH ALL NULL FIELDS
(
...
Ensuite, votre contenu de la liste des champs avoir types de données pour cette partie de la déclaration ; vous pouvez simplement l'omettre entièrement dans ce cas, car ceux-ci correspondent à la définition de la colonne de la table.
Vous pouvez donc le simplifier en :
create table strecords (
st_id number(4),
st_name varchar(10),
schl_name varchar(5),
st_city varchar(15),
st_year number(4)
)
ORGANIZATION EXTERNAL
(TYPE oracle_loader
DEFAULT DIRECTORY ex_tab
ACCESS PARAMETERS
(
RECORDS DELIMITED BY newline
FIELDS TERMINATED BY ','
MISSING FIELD VALUES ARE NULL
REJECT ROWS WITH ALL NULL FIELDS
)
LOCATION ('strecords.txt')
);