Обсуждение: plpgsql : column definition list
The result of the function test() should be a list of integer coming from a
column "ech_id" from a recursive function
data.sp_ech_recurs_desc_a(integer).
I have the following message:
ERROR: a column definition list is required for functions returning
"record"
How to define this list in this function ?
Thanks
--------
CREATE OR REPLACE FUNCTION test()
RETURNS SETOF record AS
'
declare
parent integer;
rec RECORD;
begin
... a "SELECT INTO parent ..." giving a value to the variable parent
...
FOR rec IN SELECT ech_id from data.sp_ech_recurs_desc_a(parent) LOOP
RETURN NEXT rec;
END LOOP;
return;
end
'
LANGUAGE 'plpgsql' VOLATILE;
------------
Masse Jacques wrote:
> I have the following message:
> ERROR: a column definition list is required for functions returning
> "record"
> CREATE OR REPLACE FUNCTION test()
> RETURNS SETOF record AS
make this
RETURNS SETOF int AS
> '
> declare
> parent integer;
> rec RECORD;
> begin
> ... a "SELECT INTO parent ..." giving a value to the variable parent
> ...
> FOR rec IN SELECT ech_id from data.sp_ech_recurs_desc_a(parent) LOOP
> RETURN NEXT rec;
and make this
RETURN NEXT rec.ech_id;
You only want to return type "record" for composite (multicolumn) types
that are not knowable in advance of writing the query (i.e. that might
vary from call to call).
HTH,
Joe