Поки зациклюється Oracle PL/SQL із прикладом
Що таке PL/SQL While Loop?
Поки петля у PL/SQL працює подібно до основного оператора циклу, за винятком того, що умова EXIT знаходиться на самому початку циклу. Він працює як цикл перевірки входу, де блок виконання виконуватиметься, лише якщо умова задовольняється, оскільки умова виходу перевіряється перед виконанням.
Він явно не вимагає ключового слова 'EXIT' для виходу з циклу, оскільки воно щоразу неявно перевіряє умову.
Синтаксис циклу PL/SQL
WHILE <EXIT condition> LOOP <execution block starts> . . . <execution_block_ends> END LOOP;
- У наведеному вище синтаксисі ключове слово "WHILE" позначає початок циклу, а "END LOOP" позначає кінець циклу.
- Умова EXIT оцінюється щоразу перед початком виконання частини виконання.
- Блок виконання містить весь код, який потрібно виконати.
- Виконавча частина може містити будь-який оператор виконання.
Приклад Oracle PL/SQL While Loop
У цьому прикладі ми збираємося надрукувати числа від 1 до 5 за допомогою оператора циклу 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: Друкує значення 'a'.
- Рядок коду 8: Збільшує значення 'a' на +1.
- Рядок коду 9: Ключове слово "END LOOP" позначає кінець блоку виконання.
- Код із рядка 7 та рядка 8 продовжуватиме виконуватись, доки «a» не досягне значення 6, оскільки умова поверне TRUE, а елемент керування вийде з петля.
- Рядок коду 10: Друк повідомлення «Програма виконана»
Підсумки
| Петля | Цикл WHILE |
|---|---|
| Критерії ВИХОДУ | Вийти, коли умова перевірки повертає false |
| Використання | Добре використовувати, коли кількість циклів невідома, а вихід базується на іншій умові. |
