Циклы PL/SQL

Cikly Pl Sql



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

Как и все основные языки программирования, PL/SQL поддерживает циклы, которые позволяют повторять набор инструкций до тех пор, пока не будет выполнено определенное условие.

В этом руководстве мы рассмотрим использование оператора LOOP в PL/SQL для многократного выполнения блока кода.







Циклы оракула

Язык PL/SQL поддерживает различные конструкции цикла, такие как цикл for и цикл while. Мы можем выразить синтаксис универсального цикла в Oracle, как показано ниже:



<< этикетка >> ПЕТЛЯ
цикл_утверждение;
КОНЕЦ ЦИКЛА loop_label;

Он содержит ключевое слово LOOP и тело цикла для выполнения и заключен в ключевое слово END LOOP.



Блок LOOP выполняет определенные действия и после завершения возвращает управление верхнему предложению цикла. Обычно это заключено в предложение EXIT или EXIT WHEN для завершения цикла после выполнения определенного условия. Это помогает предотвратить бесконечные циклы.





Синтаксис цикла Oracle For:

Ниже показан синтаксис цикла for в PL/SQL:

НАЧИНАТЬ
FOR loop_variable IN [нижняя_граница..верхняя_граница] LOOP
-- код, который будет выполняться в цикле
КОНЕЦ ПЕТЛИ;
КОНЕЦ;

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



Циклы Oracle в то время как

Мы также можем определить циклы «пока» в PL/SQL, как показано в следующем синтаксисе:

НАЧИНАТЬ
ПОКА условие ЦИКЛ
-- действие цикла
КОНЕЦ ПЕТЛИ;
КОНЕЦ;

В цикле «пока» действие цикла выполняется многократно, пока условие истинно.

Курсор Oracle для циклов

Oracle также поддерживает циклы «курсор для», которые позволяют нам выполнять набор инструкций для каждой строки в заданном наборе результатов. Синтаксис можно выразить следующим образом:

НАЧИНАТЬ
FOR loop_variable IN (SELECT столбец1, столбец2,...
ИЗ таблицы1, таблицы2,...
ГДЕ условие) LOOP
-- действие цикла
КОНЕЦ ПЕТЛИ;
КОНЕЦ;

Примеры циклов в Oracle

Следующие примеры охватывают основы работы с циклами for, while и for в Oracle.

Oracle для примера цикла:

В этом примере показано, как использовать цикл for для печати чисел от 1 до 10.

НАЧИНАТЬ
FOR i IN 1..10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
КОНЕЦ ПЕТЛИ;
КОНЕЦ;

Пока пример цикла:

Мы можем выполнить аналогичное действие, используя цикл while, как показано ниже:

НАЧИНАТЬ
ЗАЯВИТЬ
я ЧИСЛО := 1;
НАЧИНАТЬ
ПОКА i <= 10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
я := я + 1;
КОНЕЦ ПЕТЛИ;
КОНЕЦ;
КОНЕЦ;

Это должно выполнять действие, аналогичное циклу for.

Курсор для примера цикла:

Ниже показано, как использовать цикл «курсор для», чтобы получить полное имя клиента:

НАЧИНАТЬ
ДЛЯ сотрудника IN (ВЫБЕРИТЕ имя, фамилию
ОТ сотрудников) LOOP
DBMS_OUTPUT.PUT_LINE(employee.first_name || ' ' || employee.last_name);
КОНЕЦ ПЕТЛИ;
КОНЕЦ;

Пример вывода:

Заключение

В этом посте вы столкнулись с тремя основными типами циклов в языке Oracle PL/SQL. Вы можете проверить документацию для дальнейшего изучения.