Hai diversi problemi qui. Quello immediato che causa il tuo problema è che hai le clausole nell'ordine sbagliato
, ma hai anche MISSING FIELDS
invece di MISSING FIELD
:
...
ACCESS PARAMETERS
(
RECORDS DELIMITED BY newline
FIELDS TERMINATED BY ','
MISSING FIELD VALUES ARE NULL
REJECT ROWS WITH ALL NULL FIELDS
(
...
Quindi il tuo contenuto elenco campi hanno tipi di dati per quella parte della dichiarazione; puoi semplicemente ometterlo del tutto in questo caso poiché corrispondono alla definizione della colonna della tabella.
Quindi puoi semplificarlo in:
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')
);