ae pessoal to tentando retornar um array na minha stored procedured
tipo
CREATE OR REPLACE FUNCTION obter_numero_contrato_set(integer) RETURNS SETOF text[] AS $$
...
ae uso os return_next (array);
e no final uso um return; pra encerrar!
a stored procedure ta funcionando blz,aqui no banco, eu faço a consulta
SELECT * FROM obter_numero_contrato_set(XXXXXXX) ele me retorna os registros que tiverem, ( pode ser varias linhas ).
mais quando passo pro java to tendo problemas,
tipo
CallableStatement cs = conn.prepareCall( "{ ? = call obter_numero_contrato_set( ? ) }" );
cs.registerOutParameter(1,Types.ARRAY);
cs.setInt(2, idTitulo.intValue() );
cs.execute();
ali onde tem Types.Array -> se eu colocar Types.OTHER como eu vi em tutoriais, para que seja possivel pegar um resultSet, ele da erro e diz que o tipo declarado nao é o tipo do retorno, mais se eu deixo Types.Array quando eu tentar fazer um resultSet dali ele vai dar ClassCastException pq está chegando um Array.
ResultSet rs2 = (ResultSet) cs.getObject(1);
no debug que eu faço vejo que getObject é um array, mais se eu fizer getArray(1), vou obter o array, mais como vou poder pegar os outros ? ( pois pode acontecer de vir mais de um registro no consulta ).
t+