Thread: Returning records from a function

Returning records from a function

From
oogly@rogers.com (John C)
Date:
I've spent the last few hours trying to come up with a function that
at the most basic returns the result of a SELECT * FROM <table>.

This is easy to do in something like MSSQL or Oracle. For example in
MSSQL i can do something like:

CREATE PROCEDURE proc_name AS

BEGIN SELECT * FROM sometable
END


How do I do something like that with a Postgresql function/stored
procedure? All I really want to know is how to by using a function how
can I return the results of a SELECT * query!?

The end result of the query I need is more complicated, but I can't
even get something that easy to work. Are functions unable to return
result sets?? All of the examples i've seen always return a single
value, like an int. That doesn't do me any good.

I want to use a few stored procedures to create some faster processing
for some queries that involve 3-4 tables plus require some input
parameters, and return a result set.

Any help would be appriciated. I've just recently started using
PostgreSQL and I'm very impressed! I'm sure I'm jsut overlooking
something easy, but for the life of me i just cant figure it out.

Thanks,
John


Re: Returning records from a function

From
Lex Berezhny
Date:
Hi John,
 It is in the documentation ;-)
http://developer.postgresql.org/docs/postgres/plpgsql-control-structures.html
  Also, this tutorial might be helpful:

http://techdocs.postgresql.org/guides/SetReturningFunctions

good luck,
- lex

On Sun, 2003-02-02 at 02:20, John C wrote:
> I've spent the last few hours trying to come up with a function that
> at the most basic returns the result of a SELECT * FROM <table>.
> 
> This is easy to do in something like MSSQL or Oracle. For example in
> MSSQL i can do something like:
> 
> CREATE PROCEDURE proc_name AS
> 
> BEGIN
>   SELECT * FROM sometable
> END
> 
> 
> How do I do something like that with a Postgresql function/stored
> procedure? All I really want to know is how to by using a function how
> can I return the results of a SELECT * query!?
> 
> The end result of the query I need is more complicated, but I can't
> even get something that easy to work. Are functions unable to return
> result sets?? All of the examples i've seen always return a single
> value, like an int. That doesn't do me any good.
> 
> I want to use a few stored procedures to create some faster processing
> for some queries that involve 3-4 tables plus require some input
> parameters, and return a result set.
> 
> Any help would be appriciated. I've just recently started using
> PostgreSQL and I'm very impressed! I'm sure I'm jsut overlooking
> something easy, but for the life of me i just cant figure it out.
> 
> Thanks,
> John
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
> 
> http://archives.postgresql.org