プログラムがいくつかのレコードを処理しているときに、出力を表示したいと考えています。行を読み取っても、バッファから取得するだけで他には何もないため、役に立ちません。例えば:
DECLARE
CURSOR cEmploee IS SELECT * FROM g_emploees;
iTotal INTEGER := 0;
iCount INTEGER := 0;
BEGIN
SELECT COUNT(*) FROM g_emploees INTO iTotal;
FOR rLine IN cEmploee loop
dbms_output.put_line('Porcessed['||rLine.id||']: '|| ((iCount/iTotal)*100) || '%')
iCount := iCount + 1;
END LOOP;
END;
- dbms_output.get_line() を使用できないので、回答済みとしてマークするのはやめてください。
- 読み取り専用の理由で出力をファイルにパイプできません!
処理された % を表示し、最後ではなく、すべての反復で処理された行を出力するために使用できる DBMS のコマンド/設定はありますか? 「dbms_output.put_line」が呼び出されたときのPL/SQLの正確な時間は、実行の最後に500行ではありません)??