PL/SQL ブロックがあり、テーブル関数からクエリを実行し、カーソルを使用してレコードごとに処理し、いくつかのビジネス ロジックを持ち、最終的に修飾レコードをファイルに書き込みます。
処理件数は100万件までです。また、合計処理速度は、1 分あたり約 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;
/
ここに書き込まれたログ情報は、処理が完了するまで利用できません。そのため、どこまで完了したか追跡できません。誰かがこれについて私を助けてくれますか?