私はPL/SQLでJavaのthread.join()と同等のものを探しています。私。私はいくつかの仕事(スレッド)を開始し、それらが終了するのを待っています。サブミットされたジョブがOracle PL/SQLで終了するのを待っていますか?
これはPL/SQLでどのように可能ですか?
私はdbms_job.submitを使用することを考えています(廃止予定です)。 dbms_schedulerも選択肢です。
マイコード:
DECLARE
jobno1 number;
jobno2 number;
BEGIN
dbms_job.submit(jobno1,'begin dbms_lock.sleep(10); dbms_output.put_line(''job 1 exit'');end;');
dbms_job.submit(jobno2,'begin dbms_lock.sleep(10); dbms_output.put_line(''job 2 exit'');end;');
dbms_job.run(jobno1);
dbms_job.run(jobno2);
//Need code to Wait for jobno1 to finish
//Need code to Wait for jobno2 to finish
END;
あなたがまだ 'DBMS_SCHEDULER'の代わりに' DBMS_JOB'を使っているならば、同様に良い解決策です! –
+1、素敵なアイデア..どのように私は2つのジョブを完了するのを待つだろう(あなたがそこにwaitaniのステップが呼び出される前に仕事が終了する確率があるというように)終了する任意のアイデア。私が考えることができる1つの解決策は、両方の仕事に同じイベントを投げて、それを2回キャッチすることです。 – vicsz
あなたが言ったように、WaitAnyはトリックを行います。 – vicsz