我正在尝试使用SQL PLUS中的UTL_FILE将文本文件中的数据上传到我的表中。 文本文件名testb.txt包含数据:
10,麦克
20,bill
30公里
在我的数据库中,名为mytable的表包含列(empno,empname)
我在SQL plus上尝试了以下代码:
declare
filehand utl_file.file_type;
line varchar2(4000);
vempno varchar2(50);
vempname varchar2(50);
begin
filehand := utl_file.fopen('c:\users\myuser\desktop', 'testb.txt', 'r');
loop
utl_file.get_line(filehand, line);
if line is not null then
vempno := substr(line, 1, instr(line, ',')-1);
vempname := substr(line, instr(line, ',')+1, length(line));
dbms_output.put_line(vempno);
dbms_output.put_line(vempname);
insert into mytable (empno, empname) values (vempno, vempname);
commit;
else
exit;
end if;
end loop;
commit;
utl_file.fclose(filehand);
exception
when others then
null;
end:
/
当我运行这段代码时,我成功完成了PL / SQL过程。 但是当我看到我的表时,什么都没有改变,并且数据没有从文本文件加载到我的表中。 ???
我的代码有什么问题以及如何使用UTL_file和dbms将数据从文本文件上传到我的表中?
请大家帮我,我真的很需要它。
非常感谢