View Single Post

   
  #2 (permalink)  
Old 04-08-2008, 06:51 PM
Richard Huxton
 
Posts: n/a
Default Re: Functions that return RECORD type

Craig Bryden wrote:
> When I run select * from GetAccountInfo (100) I get the following
> error message: ERROR: a column definition list is required for functions
> returning "record"
>
> please can someone explain to me how to create a column definition list.


CREATE FUNCTION foo() RETURNS SETOF RECORD AS
'SELECT 1::int,2::int,''A''::text;'
LANGUAGE sql;

SELECT * FROM foo() AS (a int, b int, c text);
a | b | c
---+---+---
1 | 2 | A
(1 row)

The other way (which I prefer) is to define a type and change the
function definition:

CREATE TYPE foo_res_type AS (a int, b int, c text);
CREATE FUNCTION foo() RETURNS SETOF foo_res_type ...

--
Richard Huxton
Archonet Ltd

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply With Quote