Ajuda com stored procedure and postgresql!

1 resposta
S

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+

1 Resposta

S

!!! nesse caso resolvi com o PreparedStatement mesmo, se fosse pra retornar so um tipo dessa forma que eu fiz resolveria…

agradeço!

Criado 9 de novembro de 2006
Ultima resposta 9 de nov. de 2006
Respostas 1
Participantes 1