PostgreSQL - оператор цикла

Опубликовано: 30 Ноября, 2021

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

Синтаксис:

 <<метка>>
петля
  заявления / тело;
конец петли;

В приведенном выше синтаксисе в идеале мы должны сделать следующее:

  • Условие завершения : мы должны попытаться определить условие в теле цикла, до которого выполняется наш цикл. Как только это условие не выполняется, цикл прекращается. Если мы не определяем условие завершения, цикл выполняется бесконечное количество раз, и мы сталкиваемся со случаем бесконечного цикла.
  • Увеличение / уменьшение: мы должны попытаться включить в тело оператор увеличения или уменьшения, чтобы увеличить или уменьшить текущую переменную. Если мы не изменим значение переменной, цикл снова и снова застрянет в одном и том же состоянии, и мы столкнемся со случаем бесконечного цикла.

Чтобы завершить выполнение цикла, мы можем просто включить оператор if с оператором выхода со следующим синтаксисом:

 <<метка>>
петля
  заявления;
  если условие, то
     выход;
  конец, если;
конец петли;

Условие, когда мы помещаем цикл внутрь другого цикла, называется вложенным циклом. Важно отметить, что всякий раз, когда мы используем вложенный цикл, мы должны определять метки цикла в операторах exit или continue, чтобы точно показать, какой цикл мы имеем в виду.

 <<outer>>
петля  
  заявления;
  <<ужин>>
  петля
    внутренние заявления;
    exit <<inner>>
  конец петли;
конец петли;

Пример 1:

В следующем примере показано, как использовать оператор цикла для печати всех чисел от 1 до 5.

 делать $$
объявлять
  n целое число: = 6;
  cnt целое: = 1;  
начинать
петля  
 выйти, когда cnt = n;
 поднять уведомление "%", cnt;  
 cnt: = cnt + 1;  
конец петли;  
конец; $$;

Выход:

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

Пример 2:

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

 делать $$
объявлять
 n целое число: = 0;
 cnt целое: = 10;  
начинать
петля  
выйти, когда cnt = n;
поднять уведомление "%", cnt;  
cnt: = cnt - 1;  
конец петли;  
конец; $$;

Выход:

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