oracle中job如何设定每小时的第10分钟执行?
发布网友
发布时间:2022-04-07 23:15
我来回答
共3个回答
热心网友
时间:2022-04-08 00:44
可以实现的,先创建一个存储过程,在创建Job。
我们在项目开发中,常常会有一些复杂的业务逻辑。使用oracle的存储过程,可以大大减少java程序代码的编写工作量,而且存储过程执行在数据库上,这样可以利用oracle的良好性能支持,极大地提高程序执行效率和稳定性。定时执行存储过程,就要用到job。
先创建一个存储过程:
SQL> create or replace procere 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 /
热心网友
时间:2022-04-08 02:02
这个是oracle的定时任务,是可以实现的。你的job写好了吗?你是next->不会设定?
这个就是
先创建一个存储过程
SQL> create or replace procere 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 /
热心网友
时间:2022-04-08 03:37
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;
/