Oracle 11 pl / sql将CSV文件中的值读取到临时表

时间:2017-08-18 18:45:55

标签: csv plsql oracle11g temp-tables import-from-csv

我需要使用CSV文件中的值更新现有表中的值。只能使用原始CSV文件进行匹配。使用现有的加载过程,我需要读取的值不会被解析。我在列x中有两个不同内容的CSV文件。在将第二个加载到DB之前,我想根据文件2,列x中的数据更新DB中的值,以便仍然可以进行匹配。如何将带有utl文件读取的CSV文件2加载到临时表?

1 个答案:

答案 0 :(得分:0)

读取plsql中的文件你应该做下面的步骤, 1.您应该创建一个objet目录。 EA

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.-有几个例外有用ea。

utl_file.invalid_operation
utl_file.access_denied

EROD