PostgreSQL - оператор цикла
Оператор цикла используется для простого определения безусловного цикла, который многократно выполняет операторы кода до тех пор, пока он не будет завершен после обнаружения оператора возврата или выхода.
Синтаксис:
<<метка>> петля заявления / тело; конец петли;
В приведенном выше синтаксисе в идеале мы должны сделать следующее:
- Условие завершения : мы должны попытаться определить условие в теле цикла, до которого выполняется наш цикл. Как только это условие не выполняется, цикл прекращается. Если мы не определяем условие завершения, цикл выполняется бесконечное количество раз, и мы сталкиваемся со случаем бесконечного цикла.
- Увеличение / уменьшение: мы должны попытаться включить в тело оператор увеличения или уменьшения, чтобы увеличить или уменьшить текущую переменную. Если мы не изменим значение переменной, цикл снова и снова застрянет в одном и том же состоянии, и мы столкнемся со случаем бесконечного цикла.
Чтобы завершить выполнение цикла, мы можем просто включить оператор 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, после чего цикл завершается.