DBMS_SCHEDULER.DROP_JOB solo si existe
Tengo un script sql que debo ejecutar después de importar un volcado. Entre otras cosas que hace el script, hace lo siguiente:
BEGIN
--remove program
SYS.DBMS_SCHEDULER.DROP_PROGRAM(program_name=>'STATISTICS_COLUMNS_PROG',FORCE=>TRUE);
--remove job
SYS.DBMS_SCHEDULER.DROP_JOB (job_name => 'STATISTICS_COLUMNS_JOB');
END;
A veces, el trabajo ya se había eliminado en el esquema original, el volcado se realiza sin el trabajo y el script falla:
ERROR at line 1:
ORA-27475: "DMP_6633.STATISTICS_SET_COLUMNS_JOB" must be a job
ORA-06512: at "SYS.DBMS_ISCHED", line 213
ORA-06512: at "SYS.DBMS_SCHEDULER", line 657
ORA-06512: at line 5
¿Cómo puedo evitar este fallo en caso de que el trabajo no exista pero aún así pueda dejarlo caer si lo es?