Ten przykład pokazuje, jak utworzyć zadanie w Oracle, które będzie uruchamiane co godzinę przy użyciu DBMS_SCHEDULER
pakiet.
1. Utwórz zadanie za pomocą DBMS_SCHEDULER.CREATE_JOB
Poniższy kod PL/SQL zaplanuje, że zadanie, które rozpocznie się 20 października 2019 r. o godzinie 1:00 czasu indyjskiego, będzie uruchamiane codziennie co godzinę. Możesz usunąć nazwę dnia z parametru interwału powtarzania, aby wykluczyć konkretny dzień . Typ zadania jest procedurą przechowywaną i uruchomi procedurę określoną w parametrze Działanie zadania.
BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name => 'HOURLY_JOB', job_type => 'STORED_PROCEDURE', job_action => 'YOUR_SCHEMA.YOUR_PROCEDURE', start_date => '20-OCT-19 01.00.00 AM Asia/Kolkata', repeat_interval => 'FREQ=HOURLY;BYDAY=MON,TUE,WED,THU,FRI,SAT,SUN', end_date => NULL, auto_drop => FALSE, job_class => 'SYS.DEFAULT_JOB_CLASS', comments => 'run job every hour'); END; /
2. Włącz zadanie
BEGIN DBMS_SCHEDULER.enable('HOURLY_JOB'); END; /
Twój godzinowy DBMS_SCHEDULER
zadanie zostało utworzone i włączone. Możesz zmienić strefę czasową z „Azja/Kolkata " do dowolnej strefy czasowej kraju, pobierając wartość z następującego zapytania:
SELECT DISTINCT tzname, TZ_OFFSET (tzname) FROM V$TIMEZONE_NAMES ORDER BY tzname;
Powiązane samouczki:
- Oracle PL/SQL:DBMS_SCHEDULER.CREATE_JOB Uruchom codziennie raz