El 06/02/15 a las 17:04, Freddy Martinez Garcia escribió:
> Hola a todos.
> 
> soy nuevo usando postgres y tengo el siguiente código:
> 
> create or replace function models_data_rs() 
>       returns setof refcursor as $$
>       declare
>               ref refcursor;
>       begin
>               open ref for select * into r from models;
>       end;
> $$ language plpgsql;

Ahí te falto el "return ref;" después que abrís el cursor.

> hasta ahí va todo bien, el tema es que desde el mismo postgres cuando hago
> 
> select models_data_rs(); 

Otra cosa, tenés que hacerlo dentro de una transacción:

pruebas=> begin; select * from reffunc2();
BEGIN
      reffunc2
--------------------
 <unnamed portal 1>
(1 fila)

pruebas=> FETCH ALL IN "<unnamed portal 1>";
 nodo | inicio
------+--------
 a    | t
 b    | f
 c    | f
 d    | f
(4 filas)

pruebas=> end;
COMMIT

Saludos,

--
Martín Marqués                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

-- 
Martín Marqués                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a