2015-04-29 1 views
-2

Я создал работу в Oracle. Я правильно установил интервал. Но работа началась автоматически после того, как я ее создал.Работа Oracle начинается автоматически

DECLARE 
    X NUMBER; 
BEGIN 
    SYS.DBMS_JOB.SUBMIT ( 
     job => X 
      ,what => 'MISSING_REVENUE_EXPENSE_ICR;' 
      ,next_date => to_date('29/04/2015 04:00:00','dd/mm/yyyy hh24:mi:ss') 
      ,interval => '(trunc(sysdate)+1)+4/24' 
      ,no_parse => FALSE); 
    SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x)); 
    COMMIT; 
END; 

Почему это произошло? Скажите мне какое-то решение по этой проблеме.

+3

Просьба представить ваше заявление о создании рабочих мест. –

+0

Вы должны указать «следующую дату» для запуска задания - какую дату вы указали? –

+0

Пожалуйста, ознакомьтесь с этим кодом: X NUMBER; НАЧАТЬ SYS.DBMS_JOB.SUBMIT (работа => X , какой => 'MISSING_REVENUE_EXPENSE_ICR;' , next_date => to_date ('29/04/2015 04:00:00' , 'дд/мм/гггг HH24 : mi: ss ') , interval =>' (trunc (sysdate) +1) +4/24 ' , no_parse => FALSE ); SYS.DBMS_OUTPUT.PUT_LINE ('Номер работы:' || to_char (x)); COMMIT; END; –

ответ

0

Проблема эта линия:

next_date => to_date('29/04/2015 04:00:00','dd/mm/yyyy hh24:mi:ss') 

Этот параметр имеет искаженное имя, потому что это дата первого запуска. documentation shows what happens, но не полностью устраняет двусмысленность.

В любом случае, вы дали сегодняшнюю дату, чтобы она началась сегодня.