Oracle中的调度程序事件
我在mysql中有一个事件调度器,它执行得很好Oracle中的调度程序事件,oracle,dbms-scheduler,Oracle,Dbms Scheduler,我在mysql中有一个事件调度器,它执行得很好 CREATE event 'STORE' ON schedule every 1 hour doUPDATE c_store SET is_active = '0' WHERE web_id = ( SELECT web_id FROM c_web WHERE Datediff(Now( ) , createdon ) > 15)
CREATE event 'STORE' ON schedule every 1 hour doUPDATE c_store
SET is_active = '0'
WHERE web_id =
(
SELECT web_id
FROM c_web
WHERE Datediff(Now( ) , createdon ) > 15)
我的问题是,我希望在Oracle中也有相同的功能,任何人都可以指导我。您需要使用DBMS\u调度程序来创建作业,并将其计划为每小时运行一次 比如说,
SQL> BEGIN
2 DBMS_SCHEDULER.DROP_JOB (JOB_NAME => 'test_full_job_definition');
3 END;
4 /
PL/SQL procedure successfully completed.
SQL>
SQL> BEGIN
2 DBMS_SCHEDULER.create_job (
3 job_name => 'test_full_job_definition',
4 job_type => 'PLSQL_BLOCK',
5 job_action => 'BEGIN my_job_procedure; END;',
6 start_date => SYSTIMESTAMP,
7 repeat_interval => 'freq=hourly; byminute=0; bysecond=0;',
8 end_date => NULL,
9 enabled => TRUE,
10 comments => 'Job defined entirely by the CREATE JOB procedure.');
11 END;
12 /
PL/SQL procedure successfully completed.
SQL>
SQL> SELECT JOB_NAME, ENABLED FROM DBA_SCHEDULER_JOBS where job_name ='TEST_FULL_JOB_DEFINITION'
2 /
JOB_NAME ENABL
---------------------------------------- -----
TEST_FULL_JOB_DEFINITION TRUE
SQL>
请参阅更多必须使用的示例
你可以找到一些例子