PL/SQL, който работи на 30-то число на всеки месец

Работя върху база данни за проект от библиотечен тип. Имам тези таблици, от които имам нужда от данни: Книги, Доклади, Статии. Използване на oracle между другото.

Имам нужда от нещо (тригер или процедура или нещо друго), което се изпълнява на 30-то число на всеки месец (или последния ден), след това ще анализира датата на създаване на всеки файл в тези 3 таблици (Книги, Отчети, Статии) и ако датата е по-стара от sysdate - 5 години, тогава трябва да се появи съобщение с подробности за този файл (име, дата, автор).


person blynkzz    schedule 22.01.2017    source източник
comment
какво ще кажете за февруари? Няма 30-ти. Добре ли е последният ден (или предпоследният) на месеца?   -  person Gurwinder Singh    schedule 22.01.2017
comment
Знам, предложих да се промени, но ми казаха да работя с 30-то число на всеки месец.   -  person blynkzz    schedule 22.01.2017
comment
Питате ли какво трябва да използвате? Какво ще кажете за dbms_scheduler()?   -  person BobC    schedule 22.01.2017
comment
Трябва да се появи съобщение - къде? dbms_scheduler ви позволява да изпълнявате задачи на определени интервали. Това, което правите в тази работа, е ваша работа.   -  person OldProgrammer    schedule 22.01.2017


Отговори (1)


Споменахте, че трябва да се появи съобщение с подробности за този файл (име, дата, автор) Не съм сигурен къде трябва да се появи това.

Все пак ще дам подход за този проблем, можете да напишете процедура/функция в oracle, която да записва такива записи (име, дата, автор) в журнална таблица, от която можете да видите всички подробности, можете също да добавите създаване дата, поле за времево клеймо към таблицата (ако искате да извадите записи въз основа на дата). Можете да използвате DBMS_SCHEDULER, за да стартирате процедурата/функцията всеки последен ден от месеца. Дано този подход помогне.

person Community    schedule 01.02.2017