Пока зацикливается Oracle PL/SQL с примером

Что такое цикл while в PL/SQL?

Пока цикл в PL/SQL работает аналогично базовому оператору цикла, за исключением того, что условие EXIT находится в самом начале цикла. Он работает как цикл проверки входа, где блок выполнения будет выполняться только в том случае, если условие удовлетворено, поскольку условие выхода проверяется перед выполнением.

Для выхода из цикла явно не требуется ключевое слово EXIT, поскольку оно каждый раз неявно проверяет условие.

Синтаксис цикла PL/SQL while

WHILE <EXIT condition>
 LOOP
<execution block starts>
.
.
.
<execution_block_ends>
 END LOOP;
  • В приведенном выше синтаксисе ключевое слово «WHILE» отмечает начало цикла, а «END LOOP» — конец цикла.
  • Условие EXIT оценивается каждый раз перед началом выполнения исполнительной части.
  • Блок выполнения содержит весь код, который необходимо выполнить.
  • Исполняющая часть может содержать любой оператор выполнения.

Пример Oracle PL/SQL цикл while

В этом примере мы собираемся напечатать число от 1 до 5, используя оператор цикла WHILE. Для этого мы выполним следующий код:

PL/SQL цикл while
Пример цикла PL/SQL while
DECLARE
a NUMBER :=1;
BEGIN
dbms_output.put_line('Program started');
WHILE (a <= 5) 
LOOP
dbms_output.put_line(a);
a:=a+1;
END LOOP;
dbms_output.put_line(‘Program completed' ); 	
END:
/

Пояснение к коду:

  • Строка кода 2: объявление переменной «a» как типа данных «NUMBER» и инициализация ее значением «1».
  • Строка кода 4: Печать сообщения «Программа запущена».
  • Строка кода 5: Ключевое слово WHILE отмечает начало цикла, а также проверяет, меньше ли значение a или равно 5.
  • Строка кода 7: Печатает значение «а».
  • Строка кода 8: Увеличивает значение «a» на +1.
  • Строка кода 9: Ключевое слово «END LOOP» отмечает конец блока выполнения.
  • Код из строки 7 и строки 8 будет продолжать выполняться до тех пор, пока «a» не достигнет значения 6, поскольку условие вернет TRUE, и элемент управления выйдет из поиска.
  • Строка кода 10: Печать заявления «Программа завершена»

Итого

Петля ПОКА цикл
Критерии ВЫХОДА Выход, когда условие проверки возвращает false
Применение Хорошо использовать, когда количество циклов неизвестно, а выход основан на каком-то другом условии.