Pular para o conteúdo
  • Este tópico contém 5 respostas, 4 vozes e foi atualizado pela última vez 16 anos atrás por airoosp.
Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • #92733
    airoosp
    Participante

      Bom dia,

      Chamar a execução de uma procedure através de um select é possível? Sei que function funciona, alguém já teve que criar uma linha de comando assim?

      select ver_data(data_inic) from lançamentos

      Onde ver_data é uma função.

      select ver_lanc(data_inic, data_fim) from registros

      Onde ver_lanc é uma procedure com 2 parâmetros.

      Utilizo Oracle 9i.

      Obrigado.

      Airton

      #92735
      diegolenhardt
      Participante

        Acho que não dá hein,

        você quer que seja procedure porque?

        vai fazer DML ?

        se for pra retornar mais que um valor, pode retornar um TYPE eu acho,

        #92736
        burga
        Participante

          Acredito que não haja uma maneira de fazer isso com o SELECT pois a procedure não possui retorno, pelo menos ainda não vi algo do tipo…

          O que dá pra fazer é:

          call ver_lanc(data_inic, data_fim);

          ou

          begin
          ver_lanc(data_inic, data_fim);
          end;
          /

          #92738
          airoosp
          Participante

            Consegui resolver criando uma função que chama a procedure e na função há uma variável que armazena o retorno da procedure e devolve para o select.

            Obrigado.

            Airton

            #92746
            Ishii
            Participante

              Olá,

              Desculpe-me o questionamento, mas qual a diferença da função que chama a procedure para uma função direta? Afinal uma função nada mais seria que uma procedure que retorna uma valor podendo ser chamada de uma query…

              Estou questionando para evitar que se tenha uma cascata de objetos quando se pode ter apenas um, isso reduz I/O, memória etc.

              []s Ishii

              #92749
              airoosp
              Participante

                Ishii,

                Entendi o seu questionamento, é que a procedure já existe mas valeu pela ajuda e informação.

                Obrigado.

                Airton

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