refcursor returned by pl/psql to jdbc

Поиск
Список
Период
Сортировка
От Richard Emberson
Тема refcursor returned by pl/psql to jdbc
Дата
Msg-id 3CB4AFCF.CD28791B@phc.net
обсуждение исходный текст
Ответы Re: refcursor returned by pl/psql to jdbc  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-general
Ok, I wanted to wrap a select statement with a PL/pgsql procedure
(information hiding, etc.)
So I have:

CREATE OR REPLACE FUNCTION user_data_select_all(BIGINT)
RETURNS REFCURSOR AS '
DECLARE
    -- parameters
    owner_id_p ALIAS FOR $1;

    -- local variables
    rc REFCURSOR;
BEGIN
    OPEN rc FOR SELECT *
        FROM user_data
        WHERE
            owner_id = owner_id_p;
    RETURN rc;
END;
' LANGUAGE 'plpgsql' WITH (isstrict);

Now from within psql I get the following:

=> select user_data_select_all(12);
 user_data_select_all
----------------------
 <unnamed cursor 15>
(1 row)

I kind of expected to see the actual rows?!?

and from JDBC I get an exception:
Bad Long <unnamed cursor 1>
        at org.postgresql.jdbc2.ResultSet.toLong(ResultSet.java:1498)
        at org.postgresql.jdbc2.ResultSet.getLong(ResultSet.java:257)

So the question is can I wrap a select function as return a resultset to
JDBC?
Richard


В списке pgsql-general по дате отправления:

Предыдущее
От: Jean-Luc Lachance
Дата:
Сообщение: Re: [HACKERS] [Fwd: AW: More UB-Tree patent information]
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: refcursor returned by pl/psql to jdbc