Masz tutaj kilka problemów. Bezpośrednią przyczyną problemu jest to, że masz klauzule w złej kolejności
, ale masz też MISSING FIELDS
zamiast MISSING FIELDS
:
...
ACCESS PARAMETERS
(
RECORDS DELIMITED BY newline
FIELDS TERMINATED BY ','
MISSING FIELD VALUES ARE NULL
REJECT ROWS WITH ALL NULL FIELDS
(
...
Następnie Twój zawartość listy pól mieć nieprawidłowe typy danych dla tej części oświadczenia; możesz po prostu pominąć to całkowicie w tym przypadku, ponieważ pasują one do definicji kolumny tabeli.
Możesz więc uprościć to do:
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')
);