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

Oracle 11 pl/sql将值从CSV文件读取到临时表,csv,plsql,oracle11g,temp-tables,import-from-csv,Csv,Plsql,Oracle11g,Temp Tables,Import From Csv,我需要使用CSV文件中的值更新现有表中的值。仅可与原始CSV文件进行匹配。对于现有的加载过程,我需要读取的值不会被解析。我在x列中有两个内容不同的CSV文件。在将第二个加载到DB之前,我想根据文件2第x列中的数据更新DB中的值,以便仍然可以进行匹配。如何简单地加载CSV文件2,并将utl文件读取到临时表中?要在plsql中读取文件,您应该执行以下步骤, 1.您应该创建一个objet目录。ea create directory dir_tmp as ‘c:\temp’; grant read, w

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

要在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.-有几个例外情况

utl_file.invalid_operation
utl_file.access_denied

Erod

您可以使用SQL*Loader这只是未来看到这一点的人的注意事项,因为我浪费了一些时间试图完成这项工作,但没有意识到这一点:您只能使用运行oracle的机器本地的目录和文件。希望这能帮助其他人。