drno-reg
@drno-reg
см не кратко

Как правильно обработать exception при инвалидации вызова процедуры в теле ORACLE scheduler job?

Здравствуйте.

Версия.
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

Возможно ли в теле ORACLE scheduler job каким-то образом исключить полный останов по ошибке при инвалидации одной из процедур?

ORA-06550: line 19, column 3:
PLS-00905: object MON.EXAMPLE1_POINTS is invalid
ORA-06550: line 19, column 3:
PL/SQL: Statement ignored


p.s.
таким образом не получилось

begin

  begin
  EXAMPLE1_POINTS('Да','новый"');
  EXCEPTION
  when OTHERS then null;
  end;

  begin
  EXAMPLE2_POINTS('Да','средний"');
  EXCEPTION
  when OTHERS then null;
  end;

  begin
  EXAMPLE3_POINTS('Да','старый"');
  EXCEPTION
  when OTHERS then null;
  end;
  
end;
  • Вопрос задан
  • 500 просмотров
Решения вопроса 1
drno-reg
@drno-reg Автор вопроса
см не кратко
проблему удалось решить так

declare
  l_statement varchar2(32767);
begin

  l_statement := 'begin
                     EXAMPLE1_POINTS(''Да'',''средний"'');
                  end;';
  begin
     execute immediate l_statement;
  exception
     when others 
     then 
       null;
        /*log_error(sqlerrm);*/
  end;


  l_statement := 'begin
                     EXAMPLE2_POINTS(''Да'',''средний"'');
                  end;';
  begin
     execute immediate l_statement;
  exception
     when others 
     then 
       null;
        /*log_error(sqlerrm);*/
  end;

  l_statement := 'begin
                     EXAMPLE3_POINTS(''Да'',''старый"'');
                  end;';
  begin
     execute immediate l_statement;
  exception
     when others 
     then 
       null;
        /*log_error(sqlerrm);*/
  end;

end;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы