Lo scrivo perchè così me lo ricordo… è già la terza volta che lo cerco e ci spreco mezza giornata…

  1. Prima di tutto prendetevi la procedura da eseguire, basta il nome.
  2. Fate un’altra procedura, con il codice seguente: CREATE OR REPLACE PROCEDURE crea_job IS id_job number; BEGIN DBMS_JOB.SUBMIT(id_job, ‘SP_da_eseguire;’, sysdate, ‘sysdate+1’); COMMIT; END; /

È veramente necessario fare una procedura perchè mi sembra di aver capito che il primo parametro deve essere una variabile, e non una costante. L’unico modo è fare una procedura.

Il secondo parametro è l’istruzione (o le istruzioni) che il job eseguirà.

Il terzo parametro è il momento in cui verrà eseguito la prima volta, se volete farlo eseguire:

domani a quest’orasysdate+1
tra dieci minutisysdate+1/24/3600
a mezzanottetrunc(sysdate)
alle 9 di mattinatrunc(sysdate)+9/24

Il quarto parametro è l’intervallo tra i job, se volete farlo eseguire:

solo una voltanull
ogni giorno‘sysdate+1’
ogni giorno a mezzanotte’trunc(sysdate)+1’
ogni giorno alle 9 di mattina’trunc(sysdate)+1+9/24’

Spero di essere stato utile anche a qualcun’altro.