Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Как выставить расписание  [new]
Никита А
Member

Откуда:
Сообщений: 85
Да ну
Сработает ежедневно

Засчёт чего, он будет срабатывать ежедневно? Ведь в частоте срабатывания не указанно про ежедневное выполнение.
13 июн 19, 04:26    [21907548]     Ответить | Цитировать Сообщить модератору
 Re: Как выставить расписание  [new]
-2-
Member

Откуда:
Сообщений: 14850
Никита А
Да ну
Сработает ежедневно

Засчёт чего, он будет срабатывать ежедневно? Ведь в частоте срабатывания не указанно про ежедневное выполнение.
Следуя этой логике daily без указания месяцев и лет не должно выполняться ежемесячно, ежегодно,...
13 июн 19, 06:51    [21907589]     Ответить | Цитировать Сообщить модератору
 Re: Как выставить расписание  [new]
Никита А
Member

Откуда:
Сообщений: 85
Картинка с другого сайта.
Вы сами проверяли предложенный вариант?
13 июн 19, 07:44    [21907604]     Ответить | Цитировать Сообщить модератору
 Re: Как выставить расписание  [new]
-2-
Member

Откуда:
Сообщений: 14850
Никита А
Картинка с другого сайта.
Вы сами проверяли предложенный вариант?
МЫ проверили. Поверишь на слово или проверишь проверку?
13 июн 19, 07:57    [21907609]     Ответить | Цитировать Сообщить модератору
 Re: Как выставить расписание  [new]
Никита А
Member

Откуда:
Сообщений: 85
-2-,
Вы сами проверяли предложенный вариант?
У Вас написано, повторять каждую минуту Freq=Minutely, в 8 часов ByHour=8. Это как понимать, при ежеминутном повторе?

К сообщению приложен файл. Размер - 6Kb
13 июн 19, 07:57    [21907610]     Ответить | Цитировать Сообщить модератору
 Re: Как выставить расписание  [new]
Никита А
Member

Откуда:
Сообщений: 85
-2-
МЫ проверили. Поверишь на слово или проверишь проверку?

Ну запустится задание в 8, а что его прервёт дальше?
13 июн 19, 08:02    [21907612]     Ответить | Цитировать Сообщить модератору
 Re: Как выставить расписание  [new]
-2-
Member

Откуда:
Сообщений: 14850
Никита А
Ну запустится задание в 8, а что его прервёт дальше?
Конец света, например.
13 июн 19, 09:01    [21907646]     Ответить | Цитировать Сообщить модератору
 Re: Как выставить расписание  [new]
merch
Member

Откуда:
Сообщений: 147
Никита А,

Дискуссия так затянулась, что уже придумал бы велосипед.
Стартуй каждую минуту, а в job_action в pl/sql проверяй, твое время или нет.

Хотя нечто подобное, мсье Stax уже предлагал.
13 июн 19, 13:51    [21907938]     Ответить | Цитировать Сообщить модератору
 Re: Как выставить расписание  [new]
j2k
Member

Откуда: Новосибирск
Сообщений: 544
Никита А, а использование dbms_scheduler принципиально? Через dbms_job нарисовать вроде несложно.
13 июн 19, 14:34    [21907965]     Ответить | Цитировать Сообщить модератору
 Re: Как выставить расписание  [new]
oragraf
Member

Откуда: Moscow
Сообщений: 1211
Никита А,

EVALUATE_CALENDAR_STRING
13 июн 19, 17:03    [21908102]     Ответить | Цитировать Сообщить модератору
 Re: Как выставить расписание  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 17580
j2k
Никита А, а использование dbms_scheduler принципиально? Через dbms_job нарисовать вроде несложно.

Парни, ну как так-то?!
И ведь ссылку на доку дал... один хрен никто не чтит.
Простейший способ:

begin
  dbms_scheduler.create_schedule(schedule_name   => 'DAILY_830_859',
                                 start_date      => to_date(null),
                                 repeat_interval => 'Freq=Daily;ByHour=8;ByMinute=30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59',
                                 end_date        => to_date(null),
                                 comments        => '8:30-8:59');
  dbms_scheduler.create_schedule(schedule_name   => 'DAILY_900_929',
                                 start_date      => to_date(null),
                                 repeat_interval => 'Freq=Daily;ByHour=9;ByMinute=0,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',
                                 end_date        => to_date(null),
                                 comments        => '9:00-9:29');
end;
/
PL/SQL procedure successfully completed

DECLARE
  start_date        TIMESTAMP;
  return_date_after TIMESTAMP;
  next_run_date     TIMESTAMP;
BEGIN
  start_date := to_timestamp_tz('01-06-2019 00:00:00','DD-MM-YYYY HH24:MI:SS');
  return_date_after := start_date;
  FOR i IN 1..70 LOOP
    DBMS_SCHEDULER.EVALUATE_CALENDAR_STRING('DAILY_830_859,DAILY_900_929'
      , start_date, return_date_after, next_run_date);
    DBMS_OUTPUT.PUT_LINE(to_char(next_run_date,'"next_run_date date is: " yyyy-mm-dd hh24:mi:ss'));
    return_date_after := next_run_date;
  END LOOP;
END;
/
next_run_date date is:  2019-06-01 08:30:00
next_run_date date is:  2019-06-01 08:31:00
next_run_date date is:  2019-06-01 08:32:00
next_run_date date is:  2019-06-01 08:33:00
...
next_run_date date is:  2019-06-01 08:57:00
next_run_date date is:  2019-06-01 08:58:00
next_run_date date is:  2019-06-01 08:59:00
next_run_date date is:  2019-06-01 09:00:00
next_run_date date is:  2019-06-01 09:01:00
...
next_run_date date is:  2019-06-01 09:27:00
next_run_date date is:  2019-06-01 09:28:00
next_run_date date is:  2019-06-01 09:29:00
next_run_date date is:  2019-06-02 08:30:00
next_run_date date is:  2019-06-02 08:31:00
next_run_date date is:  2019-06-02 08:32:00
next_run_date date is:  2019-06-02 08:33:00
next_run_date date is:  2019-06-02 08:34:00
next_run_date date is:  2019-06-02 08:35:00
next_run_date date is:  2019-06-02 08:36:00
next_run_date date is:  2019-06-02 08:37:00
next_run_date date is:  2019-06-02 08:38:00
next_run_date date is:  2019-06-02 08:39:00

PL/SQL procedure successfully completed

SQL> 
13 июн 19, 17:31    [21908129]     Ответить | Цитировать Сообщить модератору
 Re: Как выставить расписание  [new]
Lary Denis
Member

Откуда:
Сообщений: 22
andrey_anonymous,

эх, 2015 год.. как давно это было.
13 июн 19, 17:52    [21908149]     Ответить | Цитировать Сообщить модератору
 Re: Как выставить расписание  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 17580
Lary Denis
эх, 2015 год.. как давно это было.

Мммм?
13 июн 19, 18:14    [21908167]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Oracle Ответить