Como usar o Retorno de um PL TABLE

1 resposta
M

Olá pessoal,

Sou iniciante em java, porém já tenho um certo conhecimento em Oracle.
Estou com o sguinte problema: em uma da rotinas, preciso exibir diversas informações na tela, porém para um dos dados devo fazer uma chamada à uma Procedure que me retorna uma PL TABLE. O problema está aí, como usar os dados dessa PL TABLE?

Segue o código abaixo:

public List<TipoX> getListX(String cdX) {

        List<TipoX> listaX = new ArrayList<TipoX>();

        TipoX objeto = new TipoX();

        String sql = 

            "{call procedure(?,?,?,?,?)}";

        try {

            Connection conn = dataSource.getConnection();

            CallableStatement cstmt = conn.prepareCall(sql);

            cstmt.setString(1, cdX);

            cstmt.setInt(2, 2);

            cstmt.setInt(3, 1);

            cstmt.setInt(4, 1);

            cstmt.registerOutParameter(5, Duvida 1);

            cstmt.execute(); 

            ResultSet rset = (ResultSet)cstmt.getObject(5);
 

            while (rset.next()) {

                Duvida 2

            }
 

            cstmt.close();

            conn.close();

 

        } catch (Exception e) {

            e.printStackTrace();

        }

 

        return listaX;

    }

 

}

Duvida 1: Como declarar um tipo PL TABLE
Duvida 2: Como fazer para usar os dados da PL TABLE

Obrigado

1 Resposta

G

Oi! Estou hoje frente ao mesmo problema? Alguem ja sabe a solução e este metodo realmente funciona em oracle com java.
Eu preciso que minha pltable retorno em media 500.000 ou mais registros, isto é possivel?

Criado 10 de dezembro de 2008
Ultima resposta 11 de dez. de 2010
Respostas 1
Participantes 2