Pular para o conteúdo
Visualizando 7 posts - 1 até 7 (de 7 do total)
  • Autor
    Posts
  • #106552
    Dionísio Pereira Júnior
    Participante

      No banco de dados do sistema da empresa em que trabalho existe uma função que pretendo usar para desenvolver uma aplicação para o site da empresa.

      A função tem mais ou menos essa estrutura:
      Nome: Funcao_Cad_Usuario
      Return Retorno
      Data Inicial IN date
      Data Final IN date
      Cod Usuario IN date
      Cursor OUT RefCursor

      A minha pergunta é a seguinte: Existe a possibilidade de eu executar uma select pra puxar os dados desse cursor, tipo como se fosse uma tabela? Tipo assim: select Funcao_Cad_Usuario(’01/01/2014′,’31/01/2014′,’254897′,????=>aqui é minha dúvida) from dual. Não sei se esse é o comando correto,mas gostaria de manipular os dados que o cursor traz. Alguém pode me ajudar?

      #106553
      Dionísio Pereira Júnior
      Participante

        Alguma ajuda????

        #106555
        rman
        Participante

          @Dionísio Pereira Júnior

          Segue um artigo que pode te ajudar:

          http://www.oracle.com/technetwork/issue-archive/2013/13-mar/o23plsql-1906474.html

          Lembrando isso será possível apenas com PL/SQL, com SQL puro não. Caso necessite da solução em SQL puro é só utilizar diretamente o SELECT do cursor.

          #106558
          Dionísio Pereira Júnior
          Participante

            Então, preciso utilizar SQL puro, pois é pra uma aplicação web. É justamente isso que quero saber, como, em SQL puro, posso recuperar os dados desse cursor???

            A função está em anexo para melhor entendimento.

            Attachments:
            #106559
            rman
            Participante

              @Dionísio Pereira Júnior

              Segue uma solução em Java:

              http://www.oracle-base.com/articles/misc/using-ref-cursors-to-return-recordsets.php

              Qualquer coisa posta o código da FUNCTION, para tentarmos uma solução em SQL puro.

              #106560
              Dionísio Pereira Júnior
              Participante

                Então, o problema é que o código-fonte da function está wrapped, e não tem como acessá-lo. Por isso estou tentando descobrir como retirar os dados desse cursor q está nessa function.

                Mas a estrutura dele é a seguinte:

                Nome: F_OBTEM_DETALHE_IR
                Parâmetros:
                Result number –retorno
                p_cod_contrato IN number(8)
                p_benef IN varchar2(13)
                p_data_ini IN date
                p_data_fim IN date
                p_cursor IN OUT ref cursor
                p_cod_pessoa IN number(8)

                É assim a estrutura da função.

                #106561
                rman
                Participante

                  @Dionísio Pereira Júnior

                  A solução em Java não atende?

                Visualizando 7 posts - 1 até 7 (de 7 do total)
                • Você deve fazer login para responder a este tópico.
                plugins premium WordPress