使用DBMS_JOB在Oracle中创建作业

时间:2012-05-10 16:29:16

标签: sql oracle dbms-job

我试图创建一个每个圣诞节都要运行某个程序的工作。这是我走了多远:

declare
   jobno number;
begin
   dbms_job.submit( jobno,
                   'BEGIN GiveCoins; END;',
                    to_date('12/25', 'MM/DD'),
                    'sysdate + ?');
end;
/

然而,我似乎无法找到一种简单的方法来将间隔更改为每年,而且我对此如何解决这个问题一般很困惑,任何帮助都非常感激

1 个答案:

答案 0 :(得分:7)

你想要像

这样的东西
declare
   jobno number;
begin
   dbms_job.submit( jobno,
                   'BEGIN GiveCoins; END;',
                    to_date('12/25/2012', 'MM/DD/YYYY'),
                    'add_months(trunc(sysdate),12)');
end;
/

这将在2012年圣诞节的午夜和之后的每12个月第一次开始工作。