Cursores

Lists: pgsql-es-ayuda
From: Conrado Blasetti <conrado(at)mapfre(dot)com(dot)ar>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Cursores
Date: 2005-10-26 14:00:05
Message-ID: 65746BCC3D99E44998976FD845AD6E6E0DF3F091@MAIL
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Buenos días a todos.

No estoy pudiendo loopear un cursor, lo estoy haciendo de la siguiente
manera dentro de una funcion:

create function pp returns "varchar" as
$BODY$
declare
reg cursor ( param1 int8 ) is select * from vista where id = param1;
c1 vista%rowtype;
begin
for c1 in reg( 9999999 ) loop
...
...
end loop;
return 'OK';
end;
$BODY$
$BODY$
LANGUAGE 'plpgsql' VOLATILE;

Simplemento no me ejecuta la funcion desde el pgadmin3.
Ahora, si en vez de loopear sobre el cursor, loopeo sobre el select, si
funciona.

create function pp returns "varchar" as
$BODY$
declare
reg cursor ( param1 int8 ) is select * from vista where id = param1;
c1 vista%rowtype;
begin
for c1 in (SELECT * FROM VISTA WHERE ID = 9999999 )loop
...
...
end loop;
return 'OK';
end;
$BODY$
$BODY$
LANGUAGE 'plpgsql' VOLATILE;

Alguna sugerencia?
Saludos,
Conrado


From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Conrado Blasetti <conrado(at)mapfre(dot)com(dot)ar>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Cursores
Date: 2005-10-26 15:30:14
Message-ID: 20051026153014.GC25503@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Conrado Blasetti escribió:

> Simplemento no me ejecuta la funcion desde el pgadmin3.
> Ahora, si en vez de loopear sobre el cursor, loopeo sobre el select, si
> funciona.

No me acuerdo con certeza, pero no hay que hacer OPEN del cursor antes
de usarlo?

... si, asi parece.

Creo que deberias leer la documentacion con mas cuidado.

--
Alvaro Herrera http://www.advogato.org/person/alvherre
"El sabio habla porque tiene algo que decir;
el tonto, porque tiene que decir algo" (Platon).