Thread: iterate over refcursor
hi
I got 2 functions write in pl/pgsql.
In the first function, i create a cursor and i need to use it into an other function
so the parameter is a refcursor.
the code :
1st function :
DECLARE
childCursor CURSOR FOR select * from ...
BEGIN
SORT_CHILDREN(childCursor);
END;
2nd function :
CREATE OR REPLACE FUNCTION SORT_CHILDREN(refCursor) RETURNS int4[] AS
$$
DECLARE
childCursor ALIAS FOR $1;
childRecord adoc.xdb_child%ROWTYPE;
BEGIN
FOR childRecord IN childCursor LOOP
...
END LOOP;
RETURN ...;
END;
$$ LANGUAGE plpgsql;
But it doesn't work.....
My problem is : how to iterate over a refcursor in a function ?
thanks in advance
Will
""FERREIRA William (COFRAMI)"" <william.ferreira@airbus.com> wrote in message news:1904E3EB39448246A7ECB76DF34A70B00143B46A@TOCOMEXC03...hi
I got 2 functions write in pl/pgsql.
In the first function, i create a cursor and i need to use it into an other function
so the parameter is a refcursor.the code :
1st function :
DECLARE
childCursor CURSOR FOR select * from ...
BEGIN
SORT_CHILDREN(childCursor);
END;2nd function :
CREATE OR REPLACE FUNCTION SORT_CHILDREN(refCursor) RETURNS int4[] AS
$$
DECLARE
childCursor ALIAS FOR $1;
childRecord adoc.xdb_child%ROWTYPE;
BEGIN
FOR childRecord IN childCursor LOOP
...
END LOOP;
RETURN ...;
END;
$$ LANGUAGE plpgsql;But it doesn't work.....
My problem is : how to iterate over a refcursor in a function ?
thanks in advance
Will
while Found LOOP
--Do stuff;
--Do More Stuff;
--Finish Doing Stuff;
fetch childcursor into v_partid,v_partname,v_parttype;
END LOOP;
end does i need to declare Found ?
i try your code and i got this error :
-----Message d'origine-----
De : pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org]De la part de Sim Zacks
Envoyé : mardi 8 mars 2005 12:53
À : pgsql-general@postgresql.org
Objet : Re: [GENERAL] iterate over refcursor
fetch childcursor into variablelist;
while Found LOOP
--Do stuff;
--Do More Stuff;
--Finish Doing Stuff;
fetch childcursor into variablelist;
END LOOP;
found is set to false if there is nothing to fetch
""FERREIRA William (COFRAMI)"" <william.ferreira@airbus.com> wrote in message news:1904E3EB39448246A7ECB76DF34A70B00143B46A@TOCOMEXC03...
hi
I got 2 functions write in pl/pgsql.
In the first function, i create a cursor and i need to use it into an other function
so the parameter is a refcursor.
the code :
1st function :
DECLARE
childCursor CURSOR FOR select * from ...
BEGIN
SORT_CHILDREN(childCursor);
END;
2nd function :
CREATE OR REPLACE FUNCTION SORT_CHILDREN(refCursor) RETURNS int4[] AS
$$
DECLARE
childCursor ALIAS FOR $1;
childRecord adoc.xdb_child%ROWTYPE;
BEGIN
FOR childRecord IN childCursor LOOP
...
END LOOP;
RETURN ...;
END;
$$ LANGUAGE plpgsql;
But it doesn't work.....
My problem is : how to iterate over a refcursor in a function ?
thanks in advance
Will