Я хочу создать работу dbms с помощью DBMS_JOB.SUBMIT пакет, который работает по будням (пн-пт) в 5:30 утра. Я не уверен, какие значения должны быть переданы в next_Day и интервал. Может ли кто-нибудь помочь?Как создать работу dbms, которая работает в будние дни (пн-пт) в 5:30
ответ
Сначала мы должны создать определенную функцию одного пользователя следующим образом: -
CREATE OR REPLACE FUNCTION GET_DATE RETURN DATE
is
V_DAY VARCHAR2(10);
V_DATE DATE;
BEGIN
SELECT (to_char(sysdate,'fmDay')) INTO V_DAY FROM DUAL;
IF(V_DAY='Monday' OR V_DAY='Tuesday' OR V_DAY='Wednesday' OR V_DAY='Thursday') THEN
SELECT trunc(sysdate+1)+05/24+30/1440 INTO V_DATE FROM DUAL;
RETURN V_DATE;
ELSE
SELECT trunc(sysdate+3)+05/24+30/1440 INTO V_DATE FROM DUAL;
RETURN V_DATE;
END IF;
END;
/
После этого нам нужно создать работу следующим образом: -
DECLARE
XYZ NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
(job => XYZ
,what => 'BEGIN PROC_NAME; END;'
,next_date => to_date('23/03/2017 05:30:00','dd/mm/yyyy hh24:mi:ss')
,interval => 'GET_DATE'
,no_parse => FALSE
);
END;
/
Использование dbms_schedular пакет, который доступен с 10 г, вы можете использовать «repeat_interval параметр» следующим образом:
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'MY_JOB',
job_type => 'PLSQL_BLOCK',
job_action => 'your code',
number_of_arguments => 0,
start_date => NULL,
repeat_interval => 'FREQ=WEEKLY;BYTIME=053000;BYDAY=MON,TUE,WED,THU,FRI',
end_date => NULL,
enabled => FALSE,
auto_drop => FALSE,
comments => '');
END;
/
Кроме того, если вы используете IDE, такие как SQL Developer, вы можете легко установить детали свою работу, не беспокоясь о синтаксисе. На самом деле, приведенный выше код генерируется SQL Developer
UPDATE
Попробуйте следующее с помощью DBMS_JOB (не проверено)
DECLARE
l_job_number NUMBER;
BEGIN
dbms_job.submit(
job => l_job_number ,
what => 'your code',
next_date => trunc(sysdate)+05/24+30/1440,
interval => CASE WHEN (to_char(sysdate,'Day') IN ('Monday','Tuesday','Wednesday','Thursday','Friday')) THEN trunc(sysdate)+05/24+30/1440 else null end
);
END;
/
Я хочу, чтобы он создал его через пакет dbms_job, потому что на данный момент у меня нет прав на выполнение пакета dbms_scheduler. Не могли бы вы помочь? – Nik
@ user7349009 см. Мое обновление – Hawk
появляется ошибка рядом с ");" (где заканчивается работа). Просто вопрос - нужно ли нам закончить дело? – Nik
- 1. Как назначить будние дни кнопкам?
- 2. Как повторно ввести выходные дни в разницу дат, которая в настоящее время рассчитывается в будние дни?
- 3. Как пройти через будние дни в месяц?
- 4. SQL: Сколько посещений в будние дни?
- 5. Расписание воздушного потока в будние дни
- 6. Получить будние дни в течение месяца
- 7. Как получить будние дни из запроса?
- 8. Как конвертировать будние дни в часы в laravel 4.2?
- 9. Распечатайте только будние дни и исключайте выходные дни из календаря
- 10. Рассчитать будние дни с помощью алгоритма python
- 11. для отображения только будни будние дни
- 12. Laravel Scheduler: как запустить задачу только в будние дни?
- 13. Как я могу отсортировать массив строк в будние дни?
- 14. Как вывести данные за предыдущий день только в будние дни?
- 15. Как показывать будние дни в DayPilot Календарь событий
- 16. Java regex - будние дни, разделенные штрихами
- 17. Что лучше всего хранить в будние дни в MongoDB?
- 18. Отсутствие сдвига в будние дни при добавлении часов в POSIXlt
- 19. Отображение пользователей назвать только в будние дни в рельсах
- 20. Swift. Бит-маска в будние дни. Биты коммутатора
- 21. С учётом возраста элемента только в будние дни
- 22. Использование node.js для запуска приложения в будние дни
- 23. PHP конвертирует будние дни и время (час) в представление GMT
- 24. Проверка эффективности работы в будние дни за определенный период
- 25. Mysql Таблица поворота для посещения в будние дни недели
- 26. sql чтобы найти будние дни в месяце с текущего дня
- 27. Как проверить, являются ли дни между двумя датами в будние дни?
- 28. Объединить дни недели в будние дни, а не в алфавитном порядке
- 29. DBMS OUTPUT не работает
- 30. python; супер быстрое преобразование из эпохи в будние дни/выходные дни, минута
использовать dbms_scheduler. http://stackoverflow.com/questions/4152111/dbms-job-vs-dbms-scheduler – Rene