Retornar valor de variavel em PL/SQL

Pessoal, :smiley:

Estou utilizando uma classe para executar um bloco PL/SQL mas preciso do retorno de um determinado valor e este bloco PL/SQL é dinamico. Alguem sabe como pego este valor em java :?: :roll:

Exemplo: Tenho o seguinte bloco PL/SQL em minha classe;

 
   declare 
      valor number(5);
      ano   number(4);
   begin
   
        select ano_1,sum(valores) into valor,ano
       from diferencas
       group by ano_1;

       if ano < 2003 then
              .....
       else
              ....
       end;

   end;     
      
Como consigo pegar o valor da variavel ANO ?  :cry: 

Valeu … :smiley:

CallableStatement call = conn.prepareCall("{? = call SUA_PACKAGE.SUA_FUNCTION( ?, ? ) }", ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); call.registerOutParameter(1, OracleTypes.CURSOR); call.setString(2, codBarras); call.registerOutParameter(3, OracleTypes.INTEGER); call.executeQuery(); rsCompProduto = (ResultSet) call.getObject(1); String val = (String) call.getObject(3);

Mano, :smiley:

O problema é que o bloco PL/SQL (package,procedure,etc…) não esta criado no banco de dados, o usuário faz ele em um editor de texto que criei em java na hora.

Deste modo eu não preciso criar no banco de dados :?: :shock:

Valeu… :smiley:

Se você não criar o pacote no Oracle, você nunca vai conseguir acessá-lo via Java.