Pular para o conteúdo
Visualizando 7 posts - 1 até 7 (de 7 do total)
  • Autor
    Posts
  • #106552
    Avatar de Dionísio Pereira JúniorDioní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
      Avatar de Dionísio Pereira JúniorDionísio Pereira Júnior
      Participante

        Alguma ajuda????

        #106555
        Avatar de rmanrman
        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
          Avatar de Dionísio Pereira JúniorDioní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
            Avatar de rmanrman
            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
              Avatar de Dionísio Pereira JúniorDioní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
                Avatar de rmanrman
                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