в plpgsql, как выйти из функции, возвращающей записи

в postgresql plpgsql,

create function f1( p_i int ) returns table( c1 int ) as $$
begin
  -- wish to exit, do not wish to return anything
  if p_i < 0 then
     -- cannot RETURN - since can only return record!
  end if;

  -- continue processing
  return query select c2 from t1 where c1 = p_i;
  ...
end;
$$ language plpgsql;

согласно doc, единственный способ выйти из функции - RETURN. но RETURN здесь требует RETURN QUERY или RETURN NEXT - похоже, нет способа просто выйти из функции.

8
задан cc young 3 January 2012 в 04:37
поделиться