Учебники

PL / SQL — циклы

В этой главе мы обсудим циклы в PL / SQL. Может возникнуть ситуация, когда вам нужно выполнить блок кода несколько раз. В общем случае операторы выполняются последовательно: первый оператор в функции выполняется первым, затем второй и так далее.

Языки программирования предоставляют различные управляющие структуры, которые допускают более сложные пути выполнения.

Оператор цикла позволяет нам выполнять оператор или группу операторов несколько раз, и в большинстве языков программирования ниже приводится общая форма инструкции цикла.

Петлевая архитектура

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

S.No Тип и описание петли
1 PL / SQL Basic LOOP

В этой структуре цикла последовательность операторов заключена между операторами LOOP и END LOOP. На каждой итерации выполняется последовательность операторов, а затем управление возобновляется в верхней части цикла.

2 PL / SQL WHILE LOOP

Повторяет оператор или группу операторов, пока данное условие выполняется. Он проверяет условие перед выполнением тела цикла.

3 PL / SQL FOR LOOP

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

4 Вложенные циклы в PL / SQL

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

В этой структуре цикла последовательность операторов заключена между операторами LOOP и END LOOP. На каждой итерации выполняется последовательность операторов, а затем управление возобновляется в верхней части цикла.

Повторяет оператор или группу операторов, пока данное условие выполняется. Он проверяет условие перед выполнением тела цикла.

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

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

Маркировка цикла PL / SQL

Циклы PL / SQL могут быть помечены. Метка должна быть заключена в двойные угловые скобки (<< и >>) и указываться в начале оператора LOOP. Имя метки также может отображаться в конце оператора LOOP. Вы можете использовать метку в операторе EXIT для выхода из цикла.

Следующая программа иллюстрирует концепцию —

DECLARE 
   i number(1); 
   j number(1); 
BEGIN 
   << outer_loop >> 
   FOR i IN 1..3 LOOP 
      << inner_loop >> 
      FOR j IN 1..3 LOOP 
         dbms_output.put_line('i is: '|| i || ' and j is: ' || j); 
      END loop inner_loop; 
   END loop outer_loop; 
END; 
/

Когда приведенный выше код выполняется в командной строке SQL, он дает следующий результат —

i is: 1 and j is: 1 
i is: 1 and j is: 2 
i is: 1 and j is: 3 
i is: 2 and j is: 1 
i is: 2 and j is: 2 
i is: 2 and j is: 3 
i is: 3 and j is: 1 
i is: 3 and j is: 2 
i is: 3 and j is: 3  

PL/SQL procedure successfully completed. 

Операторы управления циклом

Операторы управления циклом изменяют выполнение от его нормальной последовательности. Когда выполнение покидает область действия, все автоматические объекты, созданные в этой области, уничтожаются.

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

Оператор Exit завершает цикл, и управление передается оператору сразу после END LOOP.

Заставляет петлю пропускать оставшуюся часть своего тела и немедленно проверять свое состояние перед повторением.

Передает управление помеченному выражению. Хотя не рекомендуется использовать оператор GOTO в вашей программе.