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

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
     subscribe-nomail command to [EMAIL PROTECTED] so that your
     message can get through to the mailing list cleanly

Reply via email to