Pl sql выход из процедуры

Допустим, у меня есть цикл

Я знаю, что ключевое слово EXIT должно быть внутри цикла, чтобы выйти из цикла, если условие выполнено. И «ВОЗВРАТ» должен быть вне цикла, чтобы выйти из процедуры.

Но если я помещу ‘RETURN’ вне цикла, то я думаю, что независимо от результата цикла, он завершит всю процедуру после завершения цикла?

4 ответа

Если вы хотите проявить дидактичность, вам следует использовать EXIT, чтобы выйти из цикла, а затем использовать RETURN для выхода из процедуры (дублируя все необходимые тесты), следуя, таким образом, правилу структурированного программирования, что «Процедура должна иметь только один вход и один выход ". На практике 99,999% программистов просто закодировали бы RETURN внутри тела цикла, потому что A) понятнее, что происходит (вы не просто выходите из цикла, вы возвращаетесь из процедуры), а B ) это короче. Делай, как хочешь. Удачи.

Базы данных

Это учебное пособие объясняет, как использовать оператор EXIT в Oracle/PLSQL c синтаксисом и примерами.

Описание

В Oracle, оператор EXIT наиболее часто используется для завершения цикла LOOP.

Синтаксис

Параметры или аргументы

boolean_condition не является обязательным. Это условие выхода из цикла.

Пример

Рассмотрим пример использования EXIT в Oracle / PLSQL:

Можно ли прервать выполнение цикла for на pl/sql, если да то как? Пример:

3 ответа 3

  1. EXIT — Безусловный выход из цикла. Используется посредством применения оператора IF.
  2. EXIT WHEN — Выход при выполнении условия.
  3. GOTO — Выход из цикла во внешний контекст.

Самый приемлимый способ прервать цикл — exit [label] when ; . Метка не обязательна, но не рекомендуетя опускать её для лучшей читаемости. Во вложеных циклах, кроме того, она даст возможность, указать из какого цикла выходить, и различать одноименные переменные.

Выходить из цикла контрукцией if-then-else некорректно. Правильно перечислил способы @Crystal, но наиболее правильный — exit when . А вообще в вашем случае подойдёт цикл с условием:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками oracle база-данных sql или задайте свой вопрос.

Похожие

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2019 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2019.11.15.35459

Оцените статью
Ремонт оргтехники
Добавить комментарий