2
試圖創建作業但無法編譯它讓我給出這個錯誤。在oracle論壇上有一個問題,它說我必須創建程序來包裝它。是否有this?爲oracle創建DBMS_SCHEDULER作業
-- 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開發人員創建UI作業後的任何解決辦法,我發現我的語法erorrs,新的代碼如下;
- 我使用sys.dbms_scheduler.create_job代替dbms_scheduler.create_job。我不瞭解差異,但這不是重要的改變。
- 我用to_date來定義start_date,作爲一個新手,我發現這個更好的做法。
重要我將job_class參數添加到'DBMS_JOB $'。 DBMS_JOB是Oracle RDBMS的作業類中的built_in。所以你會發現所有的作業與此查詢:
select * from ALL_SCHEDULER_JOBS WHERE JOB_CLASS='DBMS_JOB$'
重要我區間的錯了,你應該把;所有參數
- 之間像
我的第一份工作的代碼有我用另一種語法錯誤啓用代替啓用。repeat_interval => freq=weekly;byhour=10, 13
我將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 => '');
我編輯我的答案。不需要匿名塊。我們可以通過工作來調用程序。 – 2014-09-30 08:39:11
@AliArdaOrhan這是需要在匿名塊中創建的工作。作業本身不需要任何PL/SQL塊,它只是調度存儲過程。 – 2015-05-28 06:33:22