Skip site navigation (1) Skip section navigation (2)

9.7. Table Functions

From: "Elisha Allen" <elisha(at)unm(dot)edu>
To: <pgsql-docs(at)postgresql(dot)org>
Subject: 9.7. Table Functions
Date: 2003-09-05 20:34:48
Message-ID: 009101c373ed$35b7b0a0$57481881@maelstrom (view raw or flat)
Thread:
Lists: pgsql-docs
Hello,

I hope I am posting this to the approprate list. I am somewhat new to postgres, and have been extensively reading the documentation over the last few days. As a whole, it is very helpful and informative. Great work!

Today I came across the following issue with table functions:

I'm trying to write a table function that returns a recordset. I'm running postgres 7.3.3 on redhat Following postgres Documentation Chapter 9.7,  I used the following commands to test this:

CREATE TABLE foo (fooid int, foosubid int, fooname text);
 
 CREATE FUNCTION getfoo(int) RETURNS setof foo AS '
     SELECT * FROM foo WHERE fooid = $1;
 ' LANGUAGE SQL;
 
 SELECT * FROM getfoo(1) AS t1;


Unfortunately, the command:

 SELECT * FROM getfoo(1) AS t1;

returns a:

server parse error at or near "("

Is there something I'm missing here? As a workaround I tried:

 SELECT getfoo(1) AS t1;

This command ran, but returned a row t1 with a series of numbers in it, rather than a recordset of columns and values as the documentation suggests when it says:

"If the function returns a composite type, the result columns get the same names as the individual attributes of the type."

Thank you very much for your help, and please let me know if I can be of any assistance in trouble shooting this issue/ updating the documentation on this issue.

Elisha

Responses

pgsql-docs by date

Next:From: Peter EisentrautDate: 2003-09-05 20:39:25
Subject: Re: minor documentation improvements
Previous:From: Bruno Wolff IIIDate: 2003-09-05 19:11:14
Subject: Re: Time input documentation error

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group