我有 PL/SQL 块,它从表函数查询,我使用游标逐记录处理它,有一些业务逻辑,最后将合格记录写入文件。
要处理的记录数高达 100 万条。总处理速度约为每分钟10000条记录。(经过少量数据测试)
现在,我需要在不同的环境 JSP 中指示处理状态。
DECLARE
vSFile utl_file.file_type;
vNewLine VARCHAR2(200);
my_cursor IS SELECT * FROM MYTABLE;
my_details my_cursor%rowtype;
BEGIN
vSFile := utl_file.fopen('ORALOAD', file_name,'r');
IF utl_file.is_open(vSFile) THEN
utl_file.get_line(vSFile, vNewLine);
OPEN my_cursor;
LOOP
FETCH my_cursor INTO my_details;
EXIT WHEN sll_cur%NOTFOUND;
-- Do processing
utl_file.putf(logfile,'%s ',my_details);
-- A info tht record completed!
END LOOP;
CLOSE logfile;
CLOSE my_cursor;
END IF;
EXCEPTION
WHEN OTHERS THEN
--Error handling
END;
/
此处写入的日志信息,在该过程完成之前不可用。所以,我无法追踪它完成了多远。有人可以帮助我吗?