|
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
|
- Re: [DOCS] 9.7. Table Functions Elisha Allen
- Re: [DOCS] 9.7. Table Functions Tom Lane
