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

Содержание:

Anonim

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

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

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

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

FOR  in LOOPEND LOOP;
Объяснение синтаксиса:
  • В приведенном выше синтаксисе ключевое слово FOR отмечает начало цикла, а END LOOP отмечает конец цикла.
  • Переменная цикла оценивается каждый раз перед выполнением части выполнения.
  • Блок выполнения содержит весь код, который необходимо выполнить. Часть выполнения может содержать любой оператор выполнения.
  • Переменная loop_variable объявляется неявно во время выполнения всего цикла, и область действия этой переменной loop_variable будет только внутри этого цикла.
  • Если переменная цикла вышла за пределы диапазона, управление выйдет из цикла.
  • Цикл можно заставить работать в обратном порядке, добавив ключевое слово REVERSE перед lower_limit.

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

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

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

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

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

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

LOOP -outerLOOP - innerEND LOOP;END LOOP;
Объяснение синтаксиса:
  • В приведенном выше синтаксисе внешний цикл имеет внутри еще один цикл.
  • Циклы могут быть любых типов, и часть функциональности выполнения одинакова.

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

DECLAREb NUMBER;BEGINdbms output put line(‘Program started' );FOR a IN 1… 3LOOPb:=1;WHILE (a>=b)LOOPdbms output put line(a);b:=b+1;END LOOP;‭ END LOOP;‭ ‬dbms_output.put_line('Program completed' );END;/

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

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

Резюме

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