Разница между циклами FOR и LOOP в PostgreSQL заключается в их назначении и поведении:
- FOR цикл выполняет итерации по диапазону целых чисел или по строкам, возвращаемым запросом SELECT. 12 Инициализация цикла и счётчик обрабатываются автоматически оператором SELECT. 5
- LOOP цикл — безусловный, он будет повторяться бесконечно до тех пор, пока не встретится оператор exit или return. 3 Для завершения цикла нужен оператор EXIT. 1
Таким образом, FOR цикл используется для итерации по набору результатов запроса SELECT, а LOOP цикл — для безусловного цикла, в котором необходимо явно указать условие выхода внутри тела цикла. 13