problem with returning a table

From: John Smith <mtdragon(at)spymac(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: problem with returning a table
Date: 2005-03-28 09:29:15
Message-ID: 4247CE6B.7050704@spymac.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hi everybody,

There is a function that returns a table. I set out parameter's type
to Types.OTHER but When I call the function in java, returning type is
returned as INTEGER .

Here is the function:

CREATE OR REPLACE FUNCTION sube_getir(int4, "varchar")
RETURNS SETOF subeler AS
$BODY$
DECLARE
id ALIAS FOR $1;
ad ALIAS FOR $2;
ref record;

BEGIN
IF (id=0)AND(ad='') THEN
for ref in SELECT * FROM subeler loop
RETURN NEXT ref;
end loop;
return;

ELSEIF (ad='') THEN
for ref in SELECT * FROM subeler WHERE "HESAP_SUBE_ID"=id loop
return next ref;
end loop;
return;
ELSE
for ref in SELECT * FROM subeler WHERE "HESAP_SUBE_ADI"=ad loop
return next ref;
end loop;
return;
END IF;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION sube_getir(int4, "varchar") OWNER TO postgres;

--------calling function in java:

sc = conn.prepareCall("{ ? = call sube_getir( ? , ? ) }");
sc.registerOutParameter(1,Types.OTHER);
sc.setInt(2,4);
sc.setString(3,"");
sc.execute();
rs = (ResultSet)sc.getObject(1);

Browse pgsql-jdbc by date

  From Date Subject
Next Message Kris Jurka 2005-03-28 09:31:05 Re: problem with returning a table
Previous Message Ejder DAŞKIN 2005-03-28 09:23:29 problem with returning a table