Re: stored procedures and type of returned result. - Mailing list pgsql-sql

From Richard Huxton
Subject Re: stored procedures and type of returned result.
Date
Msg-id 412B09B4.1080407@archonet.com
Whole thread Raw
In response to stored procedures and type of returned result.  (Patrice OLIVER <oliverp21@free.fr>)
List 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


pgsql-sql by date:

Previous
From: Patrice OLIVER
Date:
Subject: stored procedures and type of returned result.
Next
From: "Philippe Lang"
Date:
Subject: Re: stored procedures and type of returned result.