oracle 的 job 已经建立 我想半小时运行 一次可以 帮忙 修改一下吗? 谢谢

begin
sys.dbms_job.submit(job => :job,
what => 'create or replace procedure ynyj_now_sp
(start_date nvarchar2,to_char nvarchar2 )
is

begin
update pac_routing_op set START_DATE = to_char(sysdate,''yyyy/mm/dd'');
end ynyj_now_sp ;');
commit;
end;
/

declare
job1 number(4);
begin
sys.dbms_job.submit(job => job1,
what => 'declare s1 varchar2(200); s2 varchar2(200); begin
if to_number(to_char(sysdate,''hh24'') between 8 and 22) then p_test.usp_test_jobincs(s1,s2); end if; end;',
next_date => sysdate,
interval => 'sysdate+1/24');
commit;
end;
如果你想了解Oracle JOB间隔时间参考的实际应用方案的话,你就可以浏览以下的文章对Oracle JOB间隔时间参考在实际相关操作中的正确用法,有一个更加深入的认识,以下就是正文的详细介绍。
如果你的存储过程名为PROC_RAIN_JM
再写一个存储过程名为PROC_JOB_RAIN_JM
内容是:
Create Or Replace Procedure PROC_JOB_RAIN_JM
Is
li_jobno Number;
Begin
DBMS_JOB.SUBMIT(li_jobno,'PROC_RAIN_JM;', SYSDATE,'TRUNC(SYSDATE + 1)');
End;
最后那一项可以参考如下:
每天午夜12点 'TRUNC(SYSDATE + 1)'
每天早上8点30分 'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)'
每星期二中午12点 'NEXT_DAY(TRUNC(SYSDATE ), ''TUESDAY'' ) + 12/24'
每个月第一天的午夜12点 'TRUNC(LAST_DAY(SYSDATE ) + 1)'
每个季度最后一天的晚上11点 'TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' ) -1/24'
每星期六和日早上6点10分 'TRUNC(LEAST(NEXT_DAY(SYSDATE, ''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6*60+10)/(24*60)'
在Oracle JOB间隔时间参考,其中li_jobno是它的ID,可以通过这个ID停掉这个任务,最后想说的是不要执行多次,你可以在里面管理起来,发现已经运行了就不SUBMIT
每天运行一次 'SYSDATE + 1'
每小时运行一次 'SYSDATE + 1/24'
每10分钟运行一次 'SYSDATE + 10/(60*24)'
每30秒运行一次 'SYSDATE + 30/(60*24*60)'
每隔一星期运行一次 'SYSDATE + 7'
不再运行该任务并删除它 NULL
每年1月1号零时
trunc(last_day(to_date(extract(year from sysdate)||'12'||'01','yyyy-mm-dd'))+1)
上述的相关内容就是对Oracle JOB间隔时间参考的描述,希望会给你带来一些帮助在此方面。来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
相似回答