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

时间:2015-05-06 11:14:41

标签: oracle csv stored-procedures plsql

我尝试将csv数据从存储过程

加载到表中

我的表格包含3列: ID,名称和值。 在文件中我有这个数据:

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;

效果很好。 在下一步我需要从CSV中插入所有数据以适应表排除的第一行。

我尝试在互联网上找到解决方案,但我仍然有这个问题。你能救我吗?

2 个答案:

答案 0 :(得分:2)

您需要对LINE变量进行一些处理,使用SUBSTRINSTR将该行拆分为单独的组件,然后INSERT放入您的表中将新变量放入正确的列中。

答案 1 :(得分:2)

您可以使用外部表而不是