Para crear un Job se usa DBMS_SCHEDULER.CREATE_JOB
.
Se debe tener el privilegio CREATE
JOB
En estos dos ejemplos los jobs ejecutan un bloque de PLSQL
En el usuario dueño del esquema, se crea el Job, los parametros minimos son :
1- job_name : Nombre del JOB (no puede ser el mismo nombre de otro objeto, por ejemplo del procedure que va a ejecutar porque comparte el mismo NAMESPACE)
2 - job_type : Tipo de Job, en este ejemplo es un bloque de PLSQL, en job_action especificar el nombre del job
3 - start_date : La fecha de comienzo, en este ejemplo tomamos la fecha del dia.
4 - repeat_interval : Este job se va a ejecutar todos los dias a las 23:30
5 - enabled : En este ejemplo creamos el job y ya lo dejamos habilitado.
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'JOB_M4_PROC_EJEMPLO',
job_type => 'PLSQL_BLOCK',
job_action => 'M4_PROC_EJEMPLO',
start_date => TRUNC(SYSDATE),
repeat_interval =>
'FREQ=DAILY; byhour=23; byminute=30; bysecond=0;',
enabled => TRUE);
END;
/
Otro ejemplo ejecutando un Procedure que recibe un parámetro de tipo fecha, el parámetro a recibir debe ser el sysdate (fecha del sistema).
El Job se debe ejecutar a las 5:00 am todos los dias.
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'JOB_ M4_EJEMPLO2 ',
job_type => 'PLSQL_BLOCK',
job_action => ' M4_PROC_EJEMPLO2(SYSDATE)',
start_date => TRUNC(SYSDATE),
repeat_interval =>
'FREQ=DAILY; byhour=05; byminute=0; bysecond=0;',
enabled => TRUE);
END;
/
No hay comentarios:
Publicar un comentario