Créer un job oracle sans l'exécuter
Bonjour,
J'utilise oracle 9i et j'ai créé un job oracle qui lance une procédure.
Mon pb c'est que celui-ci s'exécute au moment de sa création.
Je souhaite donc le créer en "OFFLINE" !!
Attention je ne veux pas le créer puis ensuite le placer OFFLINE cra il se sera exécuter au moins une fois et il ne faut surtout pas.
Pouvez-vous m'aider svp ??
voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
declare
w_job_count number:=null;
w_job_main number:=null;
w_job_purge number:=null;
w_max number:=0;
begin
-- JOB DESTRUCTION IF EXISTS
select count(*) into w_job_count
from dba_jobs
where what like '%PROCEDURE_TOTO%';
if w_job_count = 0 then
null;
else
select job into w_job_main
from dba_jobs
where what like '%PROCEDURE_TOTO%';
dbms_job.remove(w_job_main);
end if;
DBMS_JOB.SUBMIT(JOB=>w_job_main,
WHAT=>'PROCEDURE_TOTO(''/tmp'',''toto.txt'');',
NEXT_DATE=>SYSDATE,
INTERVAL=>'TRUNC(LEAST(NEXT_DAY(SYSDATE,''MONDAY''),NEXT_DAY(SYSDATE,''TUESDAY''),NEXT_DAY(SYSDATE,''WEDNESDAY''),NEXT_DAY(SYSDATE,''THURSDAY''),NEXT_DAY(S
YSDATE,''FRIDAY'') )) + 4/24');
commit;
end; |
Merci
comment créer un job sans l'exécuter
Bjr,
je cherche tjrs un moyen de créer un job en mode "offline" ou "broken" de sorte qu'il soit créé et que je n'ai plus qu'à l'exécuter manuellement la première fois, puis qu'il s'exécute automatiquement les autres fois.
est-on obligé de faire un DBMS_JOB.SUBMIT pour le créer ? car j'ai l'impression que le "SUBMIT" le lance automatiquement !!
merci de votre aide,
Cat