2017-06-28 20 views
1

执行每个星期一,我想创建工作,这在04:00执行每周一与脚本如何创建DBMS_JOB 04:00

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; 
/

,但我有错误PLS-00306:错号码或类型参与调用'SUBMIT'

+0

'申报 任务数; 开始 sys.dbms_job.submit(作业, 'CALC_LAST_WEEK_STAT();', TO_DATE('03 -07-2017 4点00' 分00秒, 'DD-MM-YYYY HH24:MI:SS'), 'NEXT_DAY(trunc(SYSDATE,“dd-mm-yyyy hh24:mi:ss”),“MONDAY”)+ 4/24'); 承诺; 结束; /' –

+0

尝试'trunc(NEXT_DAY(SYSDATE,'MONDAY'))+ 4/24' –

回答

1

如果你看看the documentation for DBMS_JOB.SUBMIT(),你会看到interval的数据类型是VARCHAR2。您正在通过一个日期,而SUBMIT()期望计算下一次运行时间的公式。

因此,这将是

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