13.7 SET_PROGRESSプロシージャ
このプロシージャは、実行の進捗を設定します。このプロシージャは、PL/SQLコード内からコールする必要があります。
GET_EXECUTION
ファンクションを使用して情報を取得します。
構文
APEX_BACKGROUND_PROCESS.SET_PROGRESS (
p_totalwork IN NUMBER DEFAULT NULL,
p_sofar IN NUMBER )
パラメータ
パラメータ | 説明 |
---|---|
p_totalwork |
バックグラウンド・プロセスで処理される作業ユニットの合計。 |
p_sofar |
これまでに処理されている作業ユニット。 |
例1
次の例は、処理する作業の合計量が既知の場合に、バックグラウンドで実行されるPL/SQLページ・プロセスを示しています。進捗は、次のようにOracle APEXエンジンに報告されます。
BEGIN
for i in 1 .. 1000 loop
do_something( p_param => i );
apex_background_process.set_progress(
p_totalwork => 1000,
p_sofar => i );
END loop;
END;
例2
次の例は、処理する作業の合計量が不明な場合に、バックグラウンドで実行されるPL/SQLページ・プロセスを示しています。進捗は、次のようにAPEXエンジンに報告されます。
DECLARE
l_rows_processed pls_integer := 1;
BEGIN
for i ( select * from emp ) loop
do_something( p_param => i.empno );
apex_background_process.set_progress(
p_sofar => l_rows_processed );
l_rows_processed := l_rows_processed + 1;
END loop;
END;
親トピック: APEX_BACKGROUND_PROCESS