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 : Sélectionner tout - Visualiser dans une fenêtre à part
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