Dit voorbeeld laat zien hoe u een taak in Oracle kunt maken die elk uur moet worden uitgevoerd met behulp van de DBMS_SCHEDULER
pakket.
1. Een taak maken met DBMS_SCHEDULER.CREATE_JOB
De volgende PL/SQL-code plant een taak die begint op 20 oktober 2019 om 01:00 uur Indiase tijd om elke dag elk uur te worden uitgevoerd. U kunt de naam van de dag verwijderen uit de parameter herhaalinterval om een bepaalde dag uit te sluiten . Het taaktype is een opgeslagen procedure en zal de procedure uitvoeren die is gespecificeerd in de taakactieparameter.
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. De taak inschakelen
BEGIN DBMS_SCHEDULER.enable('HOURLY_JOB'); END; /
Uw uurlijkse DBMS_SCHEDULER
taak is nu gemaakt en ingeschakeld. U kunt de tijdzone wijzigen in "Azië/Kolkata " naar een tijdzone van een land door de waarde uit de volgende query te halen:
SELECT DISTINCT tzname, TZ_OFFSET (tzname) FROM V$TIMEZONE_NAMES ORDER BY tzname;
Verwante tutorials:
- Oracle PL/SQL:DBMS_SCHEDULER.CREATE_JOB wordt elke dag eenmaal uitgevoerd