Загрузить файл данных структурированного текста, используя только один файл - PullRequest
1 голос
/ 07 октября 2010

У меня есть текстовый файл, который нужно загрузить, имеет такую ​​структуру (плохо, у меня нет разрешения на изменение):

MM/DD/YYYY 24HH:MI:SS NO_OF_REC
EMP_ID,EMPNAME,SALARY
.....


Ex:

12/24/2010 20:30:10 number_of_datarow_below
E0001,SMITH,5000
E0002,JOHN,7000
E0003,KEWELL,9000

В одну таблицу:

EMP(ISHEADER, HEAD_DATA_TIME, NO_OF_REC, EMP_ID,EMPNAME,SALARY)

Тип данных столбцов может быть гибким.

Ожидаемый результат загрузки:

  ISHEADER  HEAD_DATA_TIME       NO_OF_REC     EMP_ID  EMPNAME  SALARY
  1         12/24/2010 20:30:10  3               
  2                                            E0001   SMITH    5000            
  2                                            E0002   JOHN     7000            
  2                                            E0003   KEWELL   9000            

Мое решение: Я использую два управляющих файла:
1. Первый для загрузки заголовка (используя опцию LOAD = 1 и режим TRUNCATE).
2. Второй для загрузки остальных данных (используя OPTION SKIP и APPEND).

Есть ли способ разрешения, при котором используется только один контрольный файл?

Спасибо.

1 Ответ

0 голосов
/ 07 октября 2010

Мой загрузчик SQL очень ржавый, но не могли бы вы как-нибудь использовать предложение WHEN?

INTO TABLE emp
   WHEN rectype = 'E' 
   (rectype  POSITION(1:1)  CHAR,
   ...)
INTO TABLE emp 
   WHEN rectype != 'E' 
   (rectype  POSITION(1:1)  CHAR,
   ...)
...