在Oracle10g里面,已经不赞成使用DBMS_JOB,推荐使用DBMS_SCHEDULER,它的健壮为调度提供更好的规划和结构。下面我只简单写一个例子。
begin
DBMS_SCHEDULER.CREATE_PROGRAM(
program_name => 'guozhw',
program_type => 'STORED_PROCEDURE',
program_action => 'guozhwTest',
number_of_arguments => 0,
enabled => true,
comments => '定时调度测试'
);
end;
program_name:program的名字
program_type:program的类型。STORED_PROCEDURE存储过程
program_action:要执行的程序。guozhwTest 存储过程的名字
begin
DBMS_SCHEDULER.CREATE_JOB(
job_name => 'gzwtest',
program_name => 'guozhw',
start_date => null,
repeat_interval => 'freq=daily;byhour=16;byminute=0;bysecond=0',
end_date => null,
job_class => 'DEFAULT_JOB_CLASS',
enabled => true,
auto_drop => true,
comments => 'job测试'
);
end;
repeat_interval => 'freq=daily;byhour=16;byminute=0;bysecond=0',
每天下午4点执行。
这样每天下午四点就可以执行guozhwTest存储过程了。
begin
DBMS_SCHEDULER.CREATE_PROGRAM(
program_name => 'guozhw',
program_type => 'STORED_PROCEDURE',
program_action => 'guozhwTest',
number_of_arguments => 0,
enabled => true,
comments => '定时调度测试'
);
end;
program_name:program的名字
program_type:program的类型。STORED_PROCEDURE存储过程
program_action:要执行的程序。guozhwTest 存储过程的名字
begin
DBMS_SCHEDULER.CREATE_JOB(
job_name => 'gzwtest',
program_name => 'guozhw',
start_date => null,
repeat_interval => 'freq=daily;byhour=16;byminute=0;bysecond=0',
end_date => null,
job_class => 'DEFAULT_JOB_CLASS',
enabled => true,
auto_drop => true,
comments => 'job测试'
);
end;
repeat_interval => 'freq=daily;byhour=16;byminute=0;bysecond=0',
每天下午4点执行。
这样每天下午四点就可以执行guozhwTest存储过程了。