Oracle PL / SQL FOR LOOP з прикладом

Зміст:

Anonim

Що таке For Loop?

Оператор "FOR LOOP" найкраще підходить тоді, коли потрібно виконати код відому кількість разів, а не на основі інших умов.

У цьому циклі буде вказано нижню і верхню межі, і поки змінна циклу знаходиться між цим діапазоном, цикл буде виконуватися.

Змінна циклу є самоінкрементною, тому в цьому циклі не потрібна явна операція збільшення. Змінну циклу не потрібно оголошувати, оскільки вона оголошується неявно.

FOR  in LOOPEND LOOP;
Пояснення синтаксису:
  • У наведеному вище синтаксисі ключове слово "FOR" позначає початок циклу, а "END LOOP" - кінець циклу.
  • Змінна циклу обчислюється кожного разу перед виконанням частини виконання.
  • Блок виконання містить весь код, який потрібно виконати. Частина виконання може містити будь-яку заяву про виконання.
  • Loop_variable оголошується неявно під час виконання всього циклу, і область дії this_variable буде знаходитися лише всередині цього циклу.
  • Якщо змінна циклу вийшла з діапазону, тоді керування вийде з циклу.
  • Цикл можна змусити працювати в зворотному порядку, додавши ключове слово 'REVERSE' перед нижчим_лімітом.

Приклад 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' позначає початок циклу і оголошено змінну циклу 'a'. Тепер значення матиме від 1 до 5
  • Рядок коду 5: Друкує значення 'a'.
  • Рядок коду 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' позначає початок циклу і оголошено змінну циклу 'a'. Тепер значення матиме від 1 до 3
  • Рядок коду 7: Скидання значення "b" до "1" кожного разу.
  • Рядок коду 8: Внутрішній цикл while перевіряє стан a> = b.
  • Кодовий рядок 10: Друкує значення 'a' до тих пір, поки виконується наведена вище умова.
  • Код, рядок 14: Друк виписки "Програма виконана"

Резюме

Петля ДЛЯ Петлі
Критерії виходу Вихід, коли лічильник досягає межі
Використання Добре використовувати, коли відомий підрахунок циклів.