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

      Surgiu uma duvida q pode ser o probloema do topico que abri anteriormente

      Eu porsso declarar um cursor dentro de outro cursor tipo :

      CURSOR ENTRADA_RECLAMACAO ( P_DATA IN DATE ) IS
      .
      .
      .
      .
      .
      OPEN ENTRADA_RECLAMACAO (P_DATA) ;
      LOOP
      FETCH ENTRADA_RECLAMACAO INTO E;
      .
      .
      .
      .
      CURSOR RECLAMACAO_PRODUTO ( P_PROCESSOS_DESCRICAO_COD IN NUMBER, P_DATA IN DATE ) IS
      .
      .
      .
      .
      FOR R IN RECLAMACAO_PRODUTO (P_PROCESSOS_DESCRICAO_COD, P_DATA)
      LOOP
      .
      .
      .
      .
      END LOOP;

      P_PROCESSOS_TOT := 0;
      --END LOOP;
      END LOOP;
      CLOSE ENTRADA_RECLAMACAO;

      Desde já obrigado

      #76621
      drumond
      Participante

        Cara, Porque vc nao declara todos os cursores antes, e depois so faz a abertura deles, isto comsome menos recursos, imagina um cursor de 1000 registros, vc estara declarando e abrindo o cursor 1000 vezes, eh isto degrada a performace !!

        #76622
        fabioanascimento
        Participante

          Valeu pela resposta

          Eu até pensei em fazer isso e acabei fazendo mesmo, o problema é q cada cursor com exceção do primeiro, depende de parametros vindo dos cursores logo acima dele entende.

          Tipo cursor 1
          cursor 2(depende de um parametro do cursor 2)
          cursor 3 (depende de um prametro do cursor 2 e 3)

          E assim por diante.

          Fiz de um jeito aqui e pelo resultado mostrado me parece q resolveu, mas se tiver uma dica melhor eu agradeço.

          FAbio nascimento

          #76625
          fabioanascimento
          Participante

            [quote=”fabioanascimento”:od1kxp0d]Valeu pela resposta

            Eu até pensei em fazer isso e acabei fazendo mesmo, o problema é q cada cursor com exceção do primeiro, depende de parametros vindo dos cursores logo acima dele entende.

            Tipo cursor 1
            cursor 2(depende de um parametro do cursor 2)
            cursor 3 (depende de um prametro do cursor 2 e 3)

            E assim por diante.

            Fiz de um jeito aqui e pelo resultado mostrado me parece q resolveu, mas se tiver uma dica melhor eu agradeço.

            FAbio nascimento[/quote]

            Errei o q eu quiz dizer é :

            Tipo cursor 1
            cursor 2(depende de um parametro do cursor 1)
            cursor 3 (depende de um prametro do cursor 1 e 2)

            #76630
            drumond
            Participante

              fabio,

              Nao sei qual foi sua solucao, mas nas aplicacoes que preciso montar, quando tenho este tipo de situacao, utilizo um outro cursor soh que implicito, em vez de usar outro explicito !!

              O implicito eh mais ou menos assim !!

              select campo INTO variavel_destino where campo_x = variavel_x ;
              depois vc pode fazer tambem um loop ou um for aqui !!!
              variavel_x, eh a variavel que vc retorna no FETCH do cursor explicito !!

              🙂
              []’s

              #76640
              fabioanascimento
              Participante

                Noooooossa.

                Realmente não tinha pensado nisso, me falta esse traquejo aí q vc tem.

                Valeu Drumond pela dica.

                Fabio nascimento

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