Thread: ERROR: a column definition list is required for functions returning "record"
ERROR: a column definition list is required for functions returning "record"
From
Zlatko Matić
Date:
I have a plpgsql function that returns dataset.
First it was defined to return SETOF someview.
Then I changed it to return SETOF RECORD, in order to be able to return dataset with varying number of columns.
But, I get the following error:"ERROR: a column definition list is required for functions returning "record" SQL state: 42601".
What does it mean? What is "columns definition list"?
Thanks,
Zlatko
Re: ERROR: a column definition list is required for functions returning "record"
From
"Pavel Stehule"
Date:
Hello you have to specify column names and column types. Like postgres=# create or replace function foog() returns setof record as $$ declare r record; begin r := row(10,20); return next r ; return; end; $$ language plpgsql; postgres=# select * from foog() t(a int, b int); a | b ----+---- 10 | 20 (1 row) Regards Pavel Stehule 2007/7/17, Zlatko Matić <zlatko.matic1@sb.t-com.hr>: > > > I have a plpgsql function that returns dataset. > First it was defined to return SETOF someview. > Then I changed it to return SETOF RECORD, in order to be able to return > dataset with varying number of columns. > But, I get the following error:"ERROR: a column definition list is required > for functions returning "record" SQL state: 42601". > What does it mean? What is "columns definition list"? > > Thanks, > > Zlatko >
Re: ERROR: a column definition list is required for functions returning "record"
From
Zlatko Matić
Date:
OK. Thanks. Regards, Zlatko ----- Original Message ----- From: "Pavel Stehule" <pavel.stehule@gmail.com> To: "Zlatko Matić" <zlatko.matic1@sb.t-com.hr> Cc: <pgsql-general@postgresql.org> Sent: Tuesday, July 17, 2007 12:14 PM Subject: Re: [GENERAL] ERROR: a column definition list is required for functions returning "record" > Hello > > you have to specify column names and column types. Like > > > postgres=# create or replace function foog() returns setof record as $$ > declare r record; begin r := row(10,20); return next r ; return; end; > $$ language plpgsql; > > postgres=# select * from foog() t(a int, b int); a | b > ----+---- > 10 | 20 > (1 row) > > Regards > Pavel Stehule > > 2007/7/17, Zlatko Matić <zlatko.matic1@sb.t-com.hr>: >> >> >> I have a plpgsql function that returns dataset. >> First it was defined to return SETOF someview. >> Then I changed it to return SETOF RECORD, in order to be able to return >> dataset with varying number of columns. >> But, I get the following error:"ERROR: a column definition list is >> required >> for functions returning "record" SQL state: 42601". >> What does it mean? What is "columns definition list"? >> >> Thanks, >> >> Zlatko >> > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Have you searched our list archives? > > http://archives.postgresql.org/ >