Квадратные скобки, обрамляющие секцию ELSE, означают,
что эта
секция может быть опущена.
Циклы
Самый простой вид цикла, используемого в PL/pgSQL, – безусловный.
Его синтаксис:
LOOP
команда ;
[...]
END LOOP;
Для выхода из цикла служит команда EXIT. Она также может
содержать метку или условие заверешения:
[ «метка» ]
LOOP
команда;
[...]
EXIT [ метка ] [ WHEN условие ];
END LOOP;
Цикл WHILE выполняет блок команд до тех пор,
пока заданное
условие не станет ложным. Синтаксис использования следующий:
[ «метка» ]
WHILE условие LOOP
команда;
[...]
END LOOP;
Перейдем к рассмотрению циклов FOR. Возможно, циклы FOR —
самая важная разновидность циклов, реализованных в PL/pgSQL. Цикл FOR
выполняет программный блок для целых чисел из заданного интервала. Ниже
будет описан синтаксис цикла FOR.
[ «метка» ]
FOR переменная IN [ REVERSE ] выражение1 .. выражение2 LOOP
команда;
END LOOP:
Цикл FOR выполняет одну итерацию для каждого значения
переменной переменная в интервале, границы
которого определяются
выражениями выражение1 и выражение2 (включительно). Управляющую
переменную цикла не обязательно объявлять вне блока FOR, если вы не
собираетесь работать с ней после завершения цикла.
Циклы FOR также могут использоваться
для перебора результатов
запросов – ниже представлен соответствующий пример 7.4. Обратите
внимание, что в
примере используются не двойные кавычки, а дважды
одинарные,
как способ экранирования, т.к. тело функции само заключено в
одинарные кавычки.