Retriving cursor from pgplsql function

Retriving cursor from pgplsql function

am 21.10.2002 15:23:02 von Fernando Papa

Hi everibody.
I'm new on postgres stuffs... I'm trying to create several functions to
encapsulate "bussines procedures"... actually I need to return a cursor.


This is the "head" of function:
--------------
create or replace function match(refcursor,int8) returns refcursor
as '
DECLARE
vid ALIAS FOR $2;
vcursor ALIAS FOR $1;
BEGIN
(...)
return vcursor;
(...)
--------------

And this is php call:
--------------
$conn =3D pg_pconnect ($conn_string);
$qry =3D "BEGIN; SELECT matche('cursorsalida',$identificador); fetch
all in cursorsalida; ";
$result =3D pg_query ($conn, $qry);
$num =3D pg_num_rows($result);
for ($i=3D0; $i < $num; $i++) {
$r =3D pg_fetch_row($result, $i);
(...)
---------------


The problem with this is than I need to pass the cursor to the
function... when I try to create a function who doesn't receive a
"refcursor" (only "return" the refcursor), I can't use the cursor!
I think I'm not doing this in the best way... actually this works fine,
but I don't want to pass by parameter a cursor...

Thanks in advance!

--
Fernando O. Papa

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster