试图创造工作但是我必须创建程序来包装它 . this?有什么解决方法吗?
-- Created on 30.09.2014 by ALI.ORHAN
declare
-- Local variables here
i integer;
begin
-- Test statements here
dbms_scheduler.create_job(job_name => 'blabla'
,job_type => 'STORED_PROCEDURE'
,job_action => 'dingdongprocedure;'
,start_date => '30-OCT-14 10.00.00 PM'
,end_date => '15-JULY-08'
,repeat_interval => 'FREQ=WEEKLY BYDAY=TUE,FRI BYHOUR=10,13'
,enable => 'TRUE'
,comments => 'SUPREME COMMENT');
end;
在我从PL / SQL Developer UI创建作业后,我发现了我的语法错误,新代码如下;
-
我使用sys.dbms_scheduler.create_job而不是dbms_scheduler.create_job . 我不是没有重要的改变 .
-
我用to_date来定义start_date,作为一个新手,我发现了这个更好的做法 .
-
Important 我将job_class参数添加到'DBMS_JOB$' . DBMS_JOB是Oracle RDBMS的built_in作业类 . 所以你找到这个查询的所有工作:
select * from ALL_SCHEDULER_JOBS WHERE JOB_CLASS='DBMS_JOB$'
- Important 我应该把你的间隔弄错了;在所有参数之间
repeat_interval => freq=weekly;byhour=10, 13
-
我的第一个工作代码有另一个语法错误我使用 enable 而不是 enabled .
-
我设置auto_drop为false . 我想这个参数用于在工作完成后放弃工作 . 我的意思是,如果你创建一个从今天到下周每天进行更改的工作 . 在结束时间到来之后,这项工作已经下降 . 如果我错了,请纠正我 .
sys.dbms_scheduler.create_job(job_name => 'BOMBASTICJOB'
,job_type => 'STORED_PROCEDURE'
,job_action => 'dingdongprocedure'
,start_date => to_date('30-09-2014 00:00:00'
, 'dd-mm-yyyy hh24:mi:ss')
,end_date => to_date(null)
,job_class => 'DBMS_JOB$'
,repeat_interval => 'Freq=Weekly; ByDay=Tue, Fri; ByHour=10, 13'
,enabled => true
,auto_drop => false
,comments => '');
1 回答
我在12.1.0.1.0 . 您可以在一个简单的匿名块中创建作业:
更多例子here