returning set of records in stored procedure
-
31-10-2019 - |
Question
I would like to return a set of records from a pl/pgsql. Is there a way to do that without using the "for" construct and cursors? For instance when I compared these two stored procedures:
create or replace function sqlProc () returns setof integer as $$
select * from foo;
$$ language sql;
create or replace function plpgSqlProc () returns setof integer as $$
declare
c integer;
begin
for c in select * from foo loop
return next c;
end loop;
end;
$$ language plpgsql;
The pure SQL version has 2x better time performance than the pl/pgsql one! Unfortunately I have other logic that cannot be expressed in pure SQL so I am wondering how I should write my stored procedure?
No correct solution
Licensed under: CC-BY-SA with attribution
Not affiliated with dba.stackexchange