Какво е докато Loop?
Инструкцията за цикъл WHILE работи подобно на оператора Basic loop, с изключение на условието EXIT е в самото начало на цикъла .
Той работи като цикъл за проверка на влизане, в който блокът за изпълнение дори няма да бъде изпълнен веднъж, ако условието не е изпълнено, тъй като условието за изход се проверява преди частта за изпълнение. Той не изисква ключова дума 'EXIT' изрично да излезе от цикъла, тъй като валидира условието имплицитно всеки път от цикъла.
WHILEОбяснение на синтаксиса:LOOP … END LOOP;
- В горния синтаксис ключовата дума „WHILE“ маркира началото на цикъла, а „END LOOP“ отбелязва края на цикъла.
- Условието EXIT се оценява всеки път, преди изпълнението на частта да започне да се изпълнява.
- Изпълнителният блок съдържа целия код, който трябва да бъде изпълнен.
- Изпълнителната част може да съдържа всеки оператор за изпълнение.
Пример 1 : В този пример ще отпечатаме число от 1 до 4, като използваме оператора WHILE loop. За това ще изпълним следния код.
DECLAREa NUMBER :=1;BEGINdbms_output.put_line('Program started');WHILE (a <= 5)LOOPdbms_output.put_line(a);a:=a+1;END LOOP;dbms_output.put_line(‘Program completed' ); END:/
Обяснение на кода:
- Кодов ред 2 : Деклариране на променливата „a“ като „НОМЕР“ тип данни и инициализиране със стойност „1“.
- Код ред 4 : Отпечатване на изявлението „Програмата е стартирана“.
- Кодов ред 5: Ключовата дума „WHILE“ маркира началото на цикъла и също така проверява дали стойността на „a“ е по-малка или равна на 5
- Кодов ред 7: Отпечатва стойността на „а“.
- Кодов ред 8: Увеличава стойността на „а“ с +1.
- Кодов ред 9: Ключовата дума „END LOOP“ маркира края на блока за изпълнение.
- Кодът от ред 7 и ред 8 ще продължи да се изпълнява, докато 'a' достигне стойността 6, тъй като условието ще върне TRUE, а контролата ще излезе от цикъла.
- Код ред 10: Отпечатване на изявлението „Програмата е завършена“
Обобщение
Примка | ДОКАТО Примка |
Критерии за изход | Излезте, когато условието за проверка върне false |
Употреба | Добре е да се използва, когато броят на циклите е неизвестен и изходът се основава на друго условие. |