plsql / cursors обрабатывают исключение и возвращаются к поток выполнения

Я пытаюсь запустить курсор и хочу, чтобы он завершил цикл, даже если есть какое-то исключение.

Что я пытаюсь сделать, так это «поймать» все исключения и, вероятно, что-то записать или ничего не делать, а затем вернуться в поток. Вот как выглядит код:

 FOR line IN my_cursor
 LOOP
 begin

    if<condition> then
      GOTO pass; 
    else     
     <<do_something>>
     exception
       when others then
        sys.dbms_output.put_line('say something');       
    end if;  

    <<pass>> null;
 end
 END LOOP;

Скрипт не компилируется. Вероятно, есть какая-то синтаксическая ошибка, за исключением, но я также не очень хорошо разбираюсь в семантике. Как будто я не уверен, можно ли вернуться к потоку выполнения после обработки исключения.

p.s: БД 10г и в ней нет ПРОДОЛЖИТЬ. Следовательно, используя GOTO.

7
задан codeObserver 19 December 2011 в 20:08
поделиться