From: | Richard Huxton <dev(at)archonet(dot)com> |
---|---|
To: | Patrice OLIVER <oliverp21(at)free(dot)fr> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: stored procedures and type of returned result. |
Date: | 2004-08-24 09:26:12 |
Message-ID: | 412B09B4.1080407@archonet.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Philippe Lang | 2004-08-24 09:56:29 | Re: stored procedures and type of returned result. |
Previous Message | Patrice OLIVER | 2004-08-24 08:39:24 | stored procedures and type of returned result. |