Oracle PL/SQL FOR LOOP с примером

Что такое цикл for?

Оператор FOR LOOP лучше всего подходит, когда вы хотите выполнить код известное количество раз, а не на основе каких-то других условий.

В этом цикле будут указаны нижний и верхний пределы, и пока переменная цикла находится между этим диапазоном, цикл будет выполняться.

Переменная цикла является самоинкрементной, поэтому явного приращения не требуется. operaв этом цикле необходима ция. Переменную цикла объявлять не требуется, поскольку она объявляется неявно.

FOR <loop_variable> in <lower_limit> .. <higher_limit> 
LOOP
<execution block starts>
.
.
.
<execution_block_ends>
 END LOOP;

Объяснение синтаксиса:

  • В приведенном выше синтаксисе ключевое слово FOR отмечает начало цикла, а ключевое слово END LOOP отмечает конец цикла.
  • Переменная цикла оценивается каждый раз перед выполнением исполнительной части.
  • Блок выполнения содержит весь код, который необходимо выполнить. Исполняющая часть может содержать любой оператор выполнения.
  • Переменная_цикла объявляется неявно во время выполнения всего цикла, и область действия этой переменной_переменной будет находиться только внутри этого цикла.
  • Если переменная цикла вышла из диапазона, то управление выйдет из цикла.
  • Цикл можно заставить работать в обратном порядке, добавив ключевое слово REVERSE перед low_limit.

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

Oracle PL/SQL ДЛЯ ЦИКЛА

BEGIN
dbms Qutput.put linef.Prp.gram started.' );
FOR a IN 1 .. 5
LOOP
dbms_output.put_line(a);
END LOOP:
dbms_output.put_iine('Program completed.'); 
END;
/

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

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

Вложенные циклы

Операторы цикла также могут быть вложенными. Внешний и внутренний цикл могут быть разных типов. Во вложенном цикле для каждого значения итерации внешнего цикла внутренний цикл выполняется полностью.

Вложенные циклы

LOOP -outer
<execution block starts>
LOOP — inner
<execution_part> 
END LOOP; 
<execution_block_ends> 
END LOOP;

Объяснение синтаксиса:

  • В приведенном выше синтаксисе внешний цикл имеет внутри еще один цикл.
  • Циклы могут быть любого типа, а функциональная часть выполнения одинакова.

Пример 1: В этом примере мы собираемся напечатать число от 1 до 3, используя оператор цикла FOR. Каждое число будет напечатано столько раз, сколько его значение. Для этого мы выполним следующееwing код.

Вложенные циклы

Вложенные циклы

DECLARE 
b NUMBER;
BEGIN
dbms output put line(‘Program started' );
FOR a IN 1..3 
LOOP
b:=1;
WHILE (a>=b)
LOOP
dbms output put line(a);
b:=b+1;
END LOOP;‭	
END LOOP;‭	‬
dbms_output.put_line('Program completed' );
END;
/

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

  • Строка кода 2: объявление переменной «b» как типа данных «NUMBER».
  • Строка кода 4: Печать сообщения «Программа запущена».
  • Строка кода 5: Ключевое слово «FOR» отмечает начало цикла и объявляется переменная цикла «a». Теперь оно будет иметь значение от 1 до 3.
  • Строка кода 7: Сброс значения «b» на «1» каждый раз.
  • Строка кода 8: Внутренний в то время как цикл проверяет условие a>=b.
  • Строка кода 10: Печатает значение «a», если вышеуказанное условие выполняется.
  • Строка кода 14: Печать заявления «Программа завершена»

Итого

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