problem with returning a table
От | John Smith |
---|---|
Тема | problem with returning a table |
Дата | |
Msg-id | 4247CE6B.7050704@spymac.com обсуждение исходный текст |
Список | 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);
В списке pgsql-jdbc по дате отправления: