Команда GOTO PL/SQL на примере

Оператор GOTO языка PL_SQL на примереКоманда GOTO выполняет безусловный переход к другой исполняемой команде в том же исполняемом разделе блока PL/SQL. Как и в случае с другими конструкциями языка, уместное и осторожное применение GOTO способно расширить возможности ваших программ.

Общий формат команды GOTO

GOTO имя_метки;

Здесь имя_метки — имя метки, идентифицирующей целевую точку перехода.

В программе метка выглядит так: 

<<имя_метки>>

Имя метки заключается в двойные угловые скобки (<< >>). Когда PRAGMA - команда компилятору PL/SQL встречает команду GOTO, он немедленно передает управление первой исполняемой команде, следующей за меткой. Блок кода в следующем примере содержит и метку, и команду GOTO

BEGIN
GOTO second_output;
DBMS_OUTPUT.PUT_LINE('Эта строка никогда не выполняется.');
<>
DBMS_OUTPUT.PUT_LINE('Мы здесь!');
END;

На использование команды GOTO налагаются некоторые ограничения:

  • За меткой должна следовать хотя бы одна исполняемая команда.
  • Целевая метка должна находиться в пределах области действия оператора GOTO.
  • Целевая метка должна находиться в той же части блока PL/SQL, что и оператор GOTO.

Несмотря на стойкое предубеждение против команды GOTO, иногда она бывает очень полезна. Например, в некоторых случаях она способна упростить логику программы. С другой стороны, поскольку PL/SQL включает так много разнообразных управляющих конструкций и средств модульного разбиения программного кода, практически для любой задачи можно найти более удобное решение, не связанное с использованием GOTO.

 

Вас заинтересует / Intresting for you:

Встроенные методы коллекций PL...
Встроенные методы коллекций PL... 14850 просмотров sepia Tue, 29 Oct 2019, 09:54:01
Управление приложениями PL/SQL...
Управление приложениями PL/SQL... 4654 просмотров Stas Belkov Thu, 16 Jul 2020, 06:20:48
Тип данных RAW в PL/SQL
Тип данных RAW в PL/SQL 12356 просмотров Doctor Thu, 12 Jul 2018, 08:41:33
Символьные функции и аргументы...
Символьные функции и аргументы... 18594 просмотров Анатолий Wed, 23 May 2018, 18:54:01
Войдите чтобы комментировать

Oracle_Admin аватар
Oracle_Admin ответил в теме #8947 6 года 1 мес. назад
GOTO... Сразу Паскаль вспоминается и уроки информатики в десятом классе)) А ведь так зарождалась любовь к программированию! Эххх, школа! Первый поцелуй.. Первый язык... Программирования!!!))) Ромаантика, млин))))