在Oracle中,可以使用以下方法設置作業的repeat_interval:
使用固定的時間間隔:可以直接指定作業在一段固定的時間間隔內重復運行。例如,每隔10分鐘運行一次可以使用以下語句:
DBMS_SCHEDULER.create_job (job_name => 'job_name',
repeat_interval => 'FREQ=MINUTELY; INTERVAL=10',
start_date => SYSTIMESTAMP,
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN your_procedure; END;',
enabled => TRUE);
在上述語句中,FREQ=MINUTELY
指定了重復頻率為分鐘級別,INTERVAL=10
指定了時間間隔為10分鐘。
使用Cron表達式:Cron表達式是一種用于指定作業運行周期的標準格式。可以使用Cron表達式指定更復雜的作業重復規則。例如,每天上午9點到下午5點之間,每隔一個小時運行一次可以使用以下語句:
DBMS_SCHEDULER.create_job (job_name => 'job_name',
repeat_interval => 'FREQ=DAILY; BYHOUR=9-17; BYMINUTE=0; BYSECOND=0',
start_date => SYSTIMESTAMP,
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN your_procedure; END;',
enabled => TRUE);
在上述語句中,FREQ=DAILY
指定了重復頻率為每天,BYHOUR=9-17
指定了每天上午9點到下午5點之間運行,BYMINUTE=0
和BYSECOND=0
分別指定了分鐘和秒為0。
這些只是一些常見的設置,你可以根據實際需求來設置更復雜的repeat_interval。詳細的設置規則可以參考Oracle官方文檔。