Patrice OLIVER wrote:
> Hello,
>
> I'm new in PostgreSQL. It's very cool.
Hello, and yes it is isn't it :-)
> I would like to know how to return a set of records from a stored
> procedure.
>
> For example, i would like to execute these sql command from a stored
> procedure :
>
> select t.typnum, t.typcom, t.typcateg, s.symurlgraph from structure.type t
> left join structure.symbole s
> on t.typcode = s.typcode;
Broadly speaking you'll want something like:
CREATE TYPE my_return_type AS ( a integer, b text
);
CREATE FUNCTION my_function(integer) RETURNS SETOF my_return_type AS ' SELECT foo_a, foo_b FROM foo WHERE foo_c = $1;
' LANGUAGE SQL;
You don't need to define your own type if you want to return the same
columns as a table, you can use the table-name instead.
For more complex cases where you need procedural code, you probably want
to read Stephan Szabo's set-returning-functions article on techdocs.
http://techdocs.postgresql.org/guides/SetReturningFunctions
HTH
-- Richard Huxton Archonet Ltd