本文主要是介绍oracle中创建jobs,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天修改业务时,需要用到Oracle数据库中的工作任务,对创建Job语句进行一下整理,以备参考:
declare
job binary_integer;
d_begindate date;
s_interval varchar2(50);
begin
d_begindate := to_date('2009-08-14 23:50:00', 'yyyy-mm-dd hh24:mi:ss');
s_interval := 'trunc(sysdate + 1) + 23 / 24';
sys.dbms_job.submit(job, 'prc_test;', d_begindate, s_interval, false, 0, false);
commit;
end;
/
使用代码时,只需对几个变量进行相应修改,并写上需要调用的程序块即可。
在PL/SQL Developer 8中,创建JOB与原来区别很大。
1.查询JOB信息
select t.job_name,
t.job_type,
t.job_action,
to_char(t.start_date, 'yyyy-mm-dd hh24:mi:ss'),
t.repeat_interval,
t.enabled,
t.state,
to_char(t.last_start_date, 'yyyy-mm-dd hh24:mi:ss')
from user_scheduler_jobs t;
2.删除JOB信息
BEGIN
SYS.DBMS_SCHEDULER.DROP_JOB
(job_name => 'APPS.JOB_MOSS_DELETE_TEMP_TABLE');
END;
3.创建JOB信息
- begin
- sys.dbms_scheduler.create_job(job_name => 'APPS.JOB_MOSS_DELETE_TEMP_TABLE',
- job_type => 'STORED_PROCEDURE',
- job_action => 'pkg_bosun_moss_erp.prc_clear_temp_table',
- number_of_arguments => 3,
- start_date => to_date('2011-07-18 04:00:00', 'yyyy-mm-dd hh24:mi:ss'),
- repeat_interval => 'TRUNC(sysdate + 1) + 4 / 24',
- end_date => null,
- job_class => 'DEFAULT_JOB_CLASS',
- enabled => false,
- auto_drop => false,
- comments => '每天凌晨4点执行清空销售平台临时表数据');
- sys.dbms_scheduler.set_job_argument_value(job_name => 'APPS.JOB_MOSS_DELETE_TEMP_TABLE',
- argument_position => 1,
- argument_value => '0');
- sys.dbms_scheduler.set_job_argument_value(job_name => 'APPS.JOB_MOSS_DELETE_TEMP_TABLE',
- argument_position => 2,
- argument_value => '');
- sys.dbms_scheduler.set_job_argument_value(job_name => 'APPS.JOB_MOSS_DELETE_TEMP_TABLE',
- argument_position => 3,
- argument_value => '');
- sys.dbms_scheduler.enable(name => 'APPS.JOB_MOSS_DELETE_TEMP_TABLE');
- end;
这篇关于oracle中创建jobs的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!