Re: funcion que retorne un resultset en java

From: Patricio Muñoz <patricio(dot)munoz(at)cmet(dot)net>
To: Leo Martin Orfei <orfeileo(at)yahoo(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: funcion que retorne un resultset en java
Date: 2004-09-06 18:35:26
Message-ID: 413CADEE.6050102@cmet.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Leo Martin Orfei escribió:

> Hola.
>
> Tengo un problema con las funciones de postgresql.
> necesito hacer una funcion que me retorne un resulset
> y poder recorrerlo desde java.
> La funcion es bastante compleja pero el problema es
> devolver el resultset.
> supongamos la siguiente funcion:
>
> create function test() returns catalog.refcursor as'
> declare aux refcursor;
> BEGIN
> OPEN aux FOR SELECT nombre, direccion FROM tabla;
> RETURN aux;
> END;
> 'LANGUAGE 'plpgsql';
>
>
> y el java:
>
> CallableStatement cs = null;
> ResultSet rs = null;
> cs = con.prepareCall("{ ? = call test()}");
> cs.registerOutParameter(1, java.sql.Types.OTHER);
> rs = cs.executeQuery();
> rs.next();
> System.out.println("nombre: " +rs.getString(1));
>
> pero me da el siguiente error:
>
> cursor "<unnamed portal 1>" does not exist
>
> Tambien probe esto:
>
> Statement s = null;
> rs = s.executeQuery("select test()");
> rs.next();
> System.out.println("nombre: " +rs.getString(1));
>
> y si bien no falla, me da el siguiente resultado:
> nombre: <unnamed portal 1>
>
> Alguien me puede ayudar con esto?
>
> Gracias.
>

Prueba con

Statement s = pSQL.createStatement();
ResultSet states = s.executeQuery("select test();");

while (states.next())
{
System.out.println(states.getString("campo"));
}

In response to

Responses

  • Consulta at 2004-09-06 21:06:36 from julio

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message julio 2004-09-06 21:06:36 Consulta
Previous Message Josué Maldonado 2004-09-06 18:33:06 Re: Desempeño PostgreSQL