Использование sysdate в операторе IF, чтобы избежать каждого часа - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь написать оператор IF в моей процедуре, чтобы избежать выполнения процедуры в самый разгар рабочего дня.Планировщик заданий, который я использую, не обладает достаточной гибкостью, чтобы по какой-то причине не работать в самый разгар рабочего дня.У кого-нибудь уже есть что-то, чем они могут поделиться?Так, например, если это 8:00, я хочу, чтобы инструкция IF остановила выполнение процедуры ......., но если ее 8:15, то никаких проблем не возникает.

1 Ответ

0 голосов
/ 30 мая 2018

Вы можете извлечь минуты следующим образом:

SELECT EXTRACT(minute FROM systimestamp) FROM DUAL;

или, более традиционно

SELECT TO_CHAR(sysdate,'MI') FROM DUAL;

Ваша процедура будет выглядеть следующим образом:

CREATE OR REPLACE PROCEDURE myproc IS
BEGIN
  IF EXTRACT(minute FROM systimestamp) > 0 THEN
    NULL; 
    -- here goes your code
  END IF;
END myproc;
/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...