Postgresql 检测PLPGSQL FOR循环中的空集

Postgresql 检测PLPGSQL FOR循环中的空集,postgresql,for-loop,plpgsql,postgresql-12,Postgresql,For Loop,Plpgsql,Postgresql 12,有没有办法检测Postgres中查询返回的集合为空 即: FOR varname IN select testvar from foo LOOP <do some stuff on the set> END LOOP; -- Loop finished or Set was EMPTY IF NOT FOUND ????? THEN <do some other stuff for empty set> END IF; 当然,我可以在循环之前运行

有没有办法检测Postgres中查询返回的集合为空

即:

FOR varname IN
   select testvar from foo
LOOP
   <do some stuff on the set>
END LOOP;
-- Loop finished or Set was EMPTY
IF NOT FOUND ?????   THEN
    <do some other stuff for empty set>
END IF;
当然,我可以在循环之前运行查询,使用NOT FOUND或引入计数器,然后在循环结束时检查它是否为0,但我想知道是否有办法避免这种情况


可能更适合dba.SE,但从这里开始

如果只想使用内置解决方案,那么应该使用find变量。当结果不为空时为真,当结果为空时为假。它是安全的,并且该值不依赖于循环体中的语句

对。只需删除?????@klin-你说的是真的,我在源代码中检查了它。