oracle中job如何设定每小时的第10分钟执行?
间隔我设定的是TRUNC(sysdate,'hh24')+1/24+10/(24*60)可以实现吗?...
间隔我设定的是
TRUNC(sysdate,'hh24') +1/24+ 10 / (24*60)
可以实现吗? 展开
TRUNC(sysdate,'hh24') +1/24+ 10 / (24*60)
可以实现吗? 展开
3个回答
推荐于2017-10-01 · 知道合伙人软件行家
关注
展开全部
可以实现的,先创建一个存储过程,在创建Job。
我们在项目开发中,常常会有一些复杂的业务逻辑。使用oracle的存储过程,可以大大减少java程序代码的编写工作量,而且存储过程执行在数据库上,这样可以利用oracle的良好性能支持,极大地提高程序执行效率和稳定性。定时执行存储过程,就要用到job。
先创建一个存储过程:
SQL> create or replace procedure MYPROC as
2 begin
3 update table_name set date= 'TRUNC(sysdate,'hh24') +1/24+ 10 / (24*60)';
4 end;
5 /
创建JOB :
SQL> variable job1 number;
SQL>
SQL> begin
2 dbms_job.submit(:job1,'MYPROC;to_date('00:10:00','HH:MI:SS'),'sysdate+1/24'); //每天24h,即每小时运行myproc过程一次
3 end;
4 /
运行JOB :
SQL> begin
2 dbms_job.run(:job1);
3 end;
4 /
我们在项目开发中,常常会有一些复杂的业务逻辑。使用oracle的存储过程,可以大大减少java程序代码的编写工作量,而且存储过程执行在数据库上,这样可以利用oracle的良好性能支持,极大地提高程序执行效率和稳定性。定时执行存储过程,就要用到job。
先创建一个存储过程:
SQL> create or replace procedure MYPROC as
2 begin
3 update table_name set date= 'TRUNC(sysdate,'hh24') +1/24+ 10 / (24*60)';
4 end;
5 /
创建JOB :
SQL> variable job1 number;
SQL>
SQL> begin
2 dbms_job.submit(:job1,'MYPROC;to_date('00:10:00','HH:MI:SS'),'sysdate+1/24'); //每天24h,即每小时运行myproc过程一次
3 end;
4 /
运行JOB :
SQL> begin
2 dbms_job.run(:job1);
3 end;
4 /
展开全部
这个是oracle的定时任务,是可以实现的。你的job写好了吗?你是next->不会设定?
这个就是
先创建一个存储过程
SQL> create or replace procedure MYPROC as
2 begin
3 update table_name set date= 'TRUNC(sysdate,'hh24') +1/24+ 10 / (24*60)';
4 end;
5 /
创建JOB
SQL> variable job1 number;
SQL>
SQL> begin
2 dbms_job.submit(:job1,'MYPROC;to_date('00:10:00','HH:MI:SS'),'sysdate+1/24'); //每天24h,即每小时运行myproc过程一次
3 end;
4 /
运行JOB
SQL> begin
2 dbms_job.run(:job1);
3 end;
4 /
这个就是
先创建一个存储过程
SQL> create or replace procedure MYPROC as
2 begin
3 update table_name set date= 'TRUNC(sysdate,'hh24') +1/24+ 10 / (24*60)';
4 end;
5 /
创建JOB
SQL> variable job1 number;
SQL>
SQL> begin
2 dbms_job.submit(:job1,'MYPROC;to_date('00:10:00','HH:MI:SS'),'sysdate+1/24'); //每天24h,即每小时运行myproc过程一次
3 end;
4 /
运行JOB
SQL> begin
2 dbms_job.run(:job1);
3 end;
4 /
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
declare
v_job number;
begin
sys.dbms_job.submit(job => v_job,
what => 'pro_;',
next_date => TRUNC(sysdate,'hh24') +1/24+ 10 / (24*60),
interval => 'TRUNC(sysdate,'hh24') +1/24+ 10 / (24*60)');
commit;
end;
/
v_job number;
begin
sys.dbms_job.submit(job => v_job,
what => 'pro_;',
next_date => TRUNC(sysdate,'hh24') +1/24+ 10 / (24*60),
interval => 'TRUNC(sysdate,'hh24') +1/24+ 10 / (24*60)');
commit;
end;
/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询