EXIT завершает цикл. CONTINUE продолжается на следующей итерации цикла.
Вы можете прикрепить <<label>> к циклам и добавить его в качестве параметра к каждой из этих команд. Затем вы завершаете/продолжаете помеченный цикл. Иначе, это касается внутреннего цикла. RETURN выходит из функции (поэтому не применимо в DO инструкции).
Все это относится к процедурным элементам PL/pgSQL, а не к SQL.
Пример кода с использованием всех трех:
Обратите внимание, что: да! вам нужно "КОГДА", даже если вы в конечном итоге (как я ;-)) с чем-то вроде
LOOP
...
IF l_my_var = 'some condition' THEN
-- this is ok, bla
IF l_debug_level >= 2 THEN
RAISE NOTICE 'debug 2: skipping a duplicate %, l_my_var;
END IF;
-- do something
CONTINUE WHEN TRUE; -- https://stackoverflow.com/info/15173194/break-statement-in-pl-pgsql
ELSE
-- do something
END IF;
...
который выглядит несколько искаженным как IF, так и WHEN.