去掉EXECUTE declare
file_path varchar(10);
file_name varchar(10);
ins_num number(10);
begin
file_path:='c:\temp';
file_name:='1.txt';
proc_import(file_path,file_name,ins_num);
end;
file_path varchar(10);
file_name varchar(10);
ins_num number(10);
begin
file_path:='c:\temp';
file_name:='1.txt';
proc_import(file_path,file_name,ins_num);
end;
解决方案 »
- oracle实例、表空间、用户、库的问题
- 请问哪里可以下载linux安装oracle的脚本啊?
- 超复杂的求和,求平均的行转列显示,请高人指点?
- oracle 不确定列的行列转换
- oracle 中文乱码问题
- 搞数据库月薪15,000的条件
- 奇怪,奇怪!!同一个数据库,不同oracle_sid 中文显示不一样?
- 如何从数据表中SELECT出字段为空,但不为.NULL的数据??急急急,等。。。
- Linux的SHELL文件里的一行代码 : $ORACLE_HOME/bin/svrmgrl << EOF ,具体含义详细说明一下吗?
- ORACLE查询卡死的问题
- 表删除一条记录后,用最后一条记录补充,如何实现?急!!
- 又是一个关于监听器的问题?
ORA-06512: 在"SYS.PROC_IMPORT", line 25
ORA-06512: 在line 8
存储过程如下:
create or replace procedure sys.proc_import(filepath in varchar2, filename in varchar2,totalinserted out number) as
file_handler UTL_FILE.FILE_TYPE;
strbuffer varchar(200);
user_id temp.code%type;
user_tel temp.tel%type;
sep1 number;
sep2 number;
begin
sep1:=0;
sep2:=0;
file_handler:=UTL_FILE.FOPEN(filepath,filename,'r');
loop
begin
UTL_FILE.Get_Line(file_handler,strbuffer);
EXCEPTION
WHEN NO_DATA_FOUND THEN
exit;
end;
sep1:=INSTR(strbuffer,'',1,1);
sep2:=INSTR(strbuffer,'',1,2);
user_id:=SUBSTR(strbuffer,1,sep1-1);
user_tel:=SUBSTR(strbuffer,sep1+1,sep2-sep1-1);
insert into temp(code,tel)values(user_id,user_tel);
totalinserted:=totalinserted+1;
end loop;
UTL_FILE.Fclose(file_handler);
commit;
end proc_import;
我已经将code字段改为可以为空了,但是还是不行。