如何使用过程将 csv 文件加载到 oracle table

How load csv file to oracle table with procedure

我尝试从存储过程

将 csv 数据加载到 table

我有 table 3 列:id、name 和 values。 在文件中我有这个数据:

id;name;values
1;aaa;32
2;bbb;23
3;cvv;12
4;fff;54

接下来我编写代码从文件中读取 test.csv

declare
 file utl_file.file_type;
 line varchar2(500);
begin
 file :=utl_file.fopen('DIRECTORY','test.csv','r');
loop
 utl_file.get_line(file ,line);
 dbms_output.put_line(line);
end loop;
exception
 when others then
utl_file.fclose(file );
end;

效果不错 在下一步中,i 需要将 CSV 中的所有数据插入到 TABLE 排除的第一行的适当列中。

我尝试在互联网上找到解决方案,但我仍然对此有疑问。你能帮帮我吗?

您需要对 LINE 变量做一些工作,使用 SUBSTRINSTR 将行拆分为单独的组件,然后 INSERT 将其拆分为你的 table 和你的新变量进入正确的列。

您可以使用外部 table 而不是