在Oracle數(shù)據(jù)庫中,可以使用DBMS_SCHEDULER包來設(shè)置自動(dòng)執(zhí)行任務(wù)。下面是一個(gè)簡單的例子,演示如何創(chuàng)建一個(gè)定時(shí)執(zhí)行的作業(yè)。
首先,創(chuàng)建一個(gè)作業(yè)程序:
BEGIN
DBMS_SCHEDULER.CREATE_PROGRAM(
program_name => 'MY_JOB_PROGRAM',
program_type => 'PLSQL_BLOCK',
program_action => 'BEGIN your_plsql_procedure_here; END;',
number_of_arguments => 0,
enabled => TRUE
);
END;
/
接下來,創(chuàng)建一個(gè)作業(yè),并指定作業(yè)程序和執(zhí)行時(shí)間:
BEGIN
DBMS_SCHEDULER.CREATE_JOB(
job_name => 'MY_JOB',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN your_plsql_procedure_here; END;',
program_name => 'MY_JOB_PROGRAM',
start_date => SYSTIMESTAMP,
repeat_interval => 'FREQ=HOURLY',
enabled => TRUE
);
END;
/
在這個(gè)例子中,我們創(chuàng)建了一個(gè)作業(yè)程序(MY_JOB_PROGRAM),它執(zhí)行一個(gè)PL/SQL塊。然后創(chuàng)建了一個(gè)作業(yè)(MY_JOB),它使用前面創(chuàng)建的作業(yè)程序,并設(shè)置了每小時(shí)執(zhí)行一次。
你可以根據(jù)自己的需求修改作業(yè)程序和作業(yè)的設(shè)置,以實(shí)現(xiàn)不同的自動(dòng)執(zhí)行任務(wù)。更多關(guān)于DBMS_SCHEDULER包的信息,請參考Oracle官方文檔。