2017-06-28 2 views
1

Ich versuche, Arbeit schaffen zu schaffen, die jeden Montag auf 04.00 Uhr mit dem Skriptwie DBMS_JOB ausführen jeden Montag um 04:00 Uhr

declare 
job number; 
begin 
    sys.dbms_job.submit(job, 
         'CALC_LAST_WEEK_STAT();', 
         to_date('03-07-2017 04:00:00', 'dd-mm-yyyy hh24:mi:ss'), 
         trunc('NEXT_DAY(TRUNC(SYSDATE), "MONDAY") + 4/24'),'dd-mm-yyyy hh24:mi:ss'); 
    commit; 
end; 
/

aber ich Fehler ausgeführt haben PLS-00306: falsche Anzahl oder Typen Argumente in Aufruf an 'SUBMIT'

+0

' Auftragsnummer erklären; beginnen sys.dbms_job.submit (Job, 'CALC_LAST_WEEK_STAT();', to_date ('03 -07-2017 04.00.00' , 'dd-mm-yyyy hh24: mi: ss'), 'NEXT_DAY (trunc (SYSDATE, "tt-mm-yyyy hh24: mi: ss"), "MONTAG") + 4/24'); commit; Ende; /' –

+0

Versuchen Sie 'trunc (NEXT_DAY (SYSDATE,' MONDAY ')) + 4/24' –

Antwort

1

Wenn Sie sich the documentation for DBMS_JOB.SUBMIT() ansehen, werden Sie sehen, dass der Datentyp für intervalVARCHAR2 ist. Sie übergeben ein Datum, während SUBMIT() die Formel zum Berechnen der Zeit des nächsten Laufs erwartet.

So wäre das

q'[(NEXT_DAY(TRUNC(SYSDATE), 'MONDAY') + 4/24)]' 
Verwandte Themen