Докато Loop in Oracle PL/SQL с пример
Какво е PL/SQL While Loop?
Докато 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 цикъл докато
В този пример ще отпечатаме число от 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: Отпечатване на съобщението „Програмата е завършена“
Oбобщение
Контур | Цикъл WHILE |
---|---|
Критерии за ИЗХОД | Излезте, когато условието за проверка върне false |
употреба | Добре е да се използва, когато броят на цикъла е неизвестен и изходът се основава на някакво друго условие. |