Сценарий SQL Loader поможет с добавлением Sysdate, пользователю

StackOverflow https://stackoverflow.com/questions/3484952

Вопрос

Я пытаюсь загрузить данные из файла, и я хочу установить create_date и обновлять_date в sysdate и create_by и updated_by пользователю

Здесь стол, с которым я работаю:

CREATE TABLE CATALOG
(CNO NUMBER,
CTITLE VARCHAR2(25),
CREATED_BY VARCHAR2(10) NOT NULL,
CREATED_DATE DATE NOT NULL,
UPDATED_BY VARCHAR2(10) NOT NULL,
UPDATED_DATE DATE NOT NULL,
CONSTRAINT CATALOG_PK Primary Key (CNO));

И вот файл данных:

1,"Title 1"
2,"Title 2"
3,"Title 3"
4,"Title 4"
5,"Title 5"
6,"Title 6"

и мой файл управления:

LOAD DATA
 INFILE "mydata.csv"
 INTO TABLE CATALOG
 FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'    
 (CNO,CTITLE,CREATED_BY "USER", CREATED_DATE "SYSDATE", UPDATED_BY "USER", UPDATED_DATE "SYSDATE")

Когда я пытаюсь загрузить его с помощью SQL-загрузчика ... Все записи отклонены:

Record 1: Rejected - Error on table CATALOG, column CREATED_BY.
Column not found before end of logical record (use TRAILING NULLCOLS)
Record 2: Rejected - Error on table CATALOG, column CREATED_BY.
Column not found before end of logical record (use TRAILING NULLCOLS)
.......

Есть идеи, что я делаю не так? Заранее спасибо.

Это было полезно?

Решение

Просто делай то, что говорит Oracle: добавить TRAILING NULLCOLS в ваш файл управления:

LOAD DATA
 INFILE "mydata.csv"
 INTO TABLE CATALOG
 FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS  
 (CNO,CTITLE,CREATED_BY "USER", CREATED_DATE "SYSDATE", UPDATED_BY "USER", UPDATED_DATE "SYSDATE")

Это требуется, потому что только первые два столбца находятся в входном файле. Реминг чисто вычисляется.

Если вы не укажете это, Oracle пытается прочитать третий, четвертый и т. Д. Столбец, но не могу найти один.

Другие советы

В контрольном файле попробуйте это

(CNO,CTITLE,CREATED_BY "USER", CREATED_DATE SYSDATE, UPDATED_BY "USER", UPDATED_DATE SYSDATE)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top