1

1000行のバッチで行の大きなリストに対して更新を実行したいと思います。定期的に実行されるDBMS_JOB内にupdateステートメントを配置する場合、影響を受ける行の数がゼロになった後、ジョブがそれ自体を一時停止する方法はありますか?

ジョブは自分のジョブIDを見つけて、呼び出すことができますDBMS_JOB.Broken()か?

4

2 に答える 2

2

JOB IDはJOB列です:

select * from dba_jobs

現在実行中のジョブ:

select dbr.sid, s.serial#, s.username, dbj.* 
from dba_jobs_running dbr, dba_jobs dbj , v$session s 
where dbr.job=dbj.job and s.sid=dbr.sid;
于 2012-09-07T12:57:02.267 に答える
2
select JOB from all_jobs
where what like '%YOUR_JOB_PROCEDURE%';

また、Oracleバージョンhttp://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_sched.htmでも使用できる場合は、DBMS_JOBの代わりにDBMS_SCHEDULERを使用することをお勧めします。

于 2012-09-07T13:05:19.090 に答える