Импорт CSV файла

Last updated 7 months ago

Импорт .csv файла (pkg_docs_util.clob_to_table)

Описание процедур

Стандартные процедуры импорта позволяют импортировать объект clob, который:

- может быть загружен в документ, в таблицу VMDB_DOCS_OLE

для этого нужно вызвать процедуру со следующими параметрами

procedure clob_to_table
(
p_nrdoc number,
p_nrdoc1 number,
p_struct_id number,
p_do_delete boolean := true,
p_separator varchar2 := chr(9)
)

,где p_nrdoc и p_nrdoc1 - это идентификаторы строки с объектом clob в таблице VMDB_DOCS_OLE.

- можно передать при вызове процедуры

procedure clob_to_table
(
p_clob clob,
p_struct_id number,
p_do_delete boolean := true,
p_separator varchar2 := chr(9)
)

При вызове процедуры необходимо указать значение параметра p_struct_id - это идентификатор описания структуры временной таблицы, которую необходимо описывать в таблицах:

TMS_LOAD_INFO, TMS_LOAD_STRUCT.

Описание таблиц

Необходимо создать временную таблицу с определенной структурой. (on commit preserve rows).

В таблице tms_load_info есть параметры:

PACK_SEPARATORS - если значение = 1, то при импорте файла будут удалены повторяющиеся разделители

UNQUOTE_VALUES - если значение = 1, то при импорте будут удалены кавычки справа и слева в полях типа S (string) (работает некорректно).

Так же есть обязательные для заполнения поля:

ID, TABLENAME, которые нужны для задания уникального идентификатора и названия временной таблицы.

В таблице TMS_LOAD_STRUCT необходимо описать каждое поле временной таблицы с текущим ID.

При этом указывается номер по порядку - COL (порядок полей должен быть таким же, как в файле .csv), название поля COLUMNNAME, тип поля TYPE, размер поля PREC, остальные параметры не обязательны для заполнения.