Oracle 11 pl/sql считывает значения из CSV-файла во временную таблицу
Мне нужно обновить значения в существующей таблице значениями из файла CSV. Сопоставление возможно только с оригинальными файлами CSV. При существующих процедурах загрузки значения, которые мне нужно прочитать, не анализируются. У меня есть два файла CSV с различным содержанием в столбце х. Перед загрузкой второго в БД я хочу обновить значения в БД в соответствии с данными в файле 2, столбце x, чтобы сопоставление все еще было возможно. Как я могу просто загрузить файл CSV 2 с файлом utl, считанным во временную таблицу?
1 ответ
Чтобы прочитать файл в plsql, вам необходимо выполнить следующие шаги: 1. Вы должны создать каталог objet. еа
create directory dir_tmp as ‘c:\temp’;
grant read, write on directory dir_tmp to user;
2. читать.
create or replace procedure reading is
v_file utl_file.file_type;
v_line varchar2(1024);
begin
v_file := utl_file.fopen (‘DIR_TMP’, ‘test_utl_file.txt’,‘r’);
loop
utl_file.get_line (v_file, v_line);
dbms_output.put_line (v_line);
end loop;
utl_file.fclose(v_file);
exception
when no_data_found then
dbms_output.put_line (‘End file’);
end;
/
3. Есть несколько полезных исключений.
utl_file.invalid_operation
utl_file.access_denied
Erod