Pular para o conteúdo
  • Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 8 anos, 4 meses atrás por Avatar photoJosé Laurindo Chiappa.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #108317
    Avatar de leo_jfleo_jf
    Participante

      Boa Noite!
      Tenho uma tabela funcionários, e nela tenho algumas informações, tais como nome, cpf, cod_func.

      Preciso gerar arquivos de saída (utl_file), separados por cod_func, sendo que cada arquivo teria o nome do cod_func respectivo.

      Por exemplo:

      Tabela funcionários, tem os códigos 1001,1002,1003.

      Após execução da procedure eu teria 3 arquivos de saída, claro que em dentro de cada arquivo teria respectivas informações dos seus códigos.

      Func_1001.txt
      Func_1002.txt
      Func_1003.txt.

      Tentei criar o loop com while (enquanto o código anterior for diferente do atual…), mas não está funcionando.
      Alguém teria a lógica de alguma proc que faça isso?

      Desde já agradeço qq ajuda 🙂

      #108319
      Avatar photoJosé Laurindo Chiappa
      Moderador

        Tudo jóia ? Então, como sempre quando se fala de lógica e desenvolvimento, a *** primeiríssima ** coisa que se tem que entender é a Modelagem e a necessidade de negócio, EM DETALHES – vc tem que explicar como se a pessoa não soubesse NADA do seu ambiente, até porque NÂO SABEMOS MESMO, okdoc ?
        No seu caso, temos que saber : os dados de cada funcionário estão NUMA SÓ LINHA da tabela, vc quer ler todas as linhas e para cada linha gerar um arquivo diferente ? Se é isso, a lógica é um LOOP simples, não entendo porque vc pensou se código atual diferente do anterior, não faz sentido…
        Se a minha suposição é correta, a lógica seria simplesmente :

        BEGIN
        for r in (select cod_func, nome, cpf, …. demais colunas que vc precisa)
        loop
        abre o arquivo passando r.cod_func como parte do nome;
        SE é preciso buscar dados adicionais em outras tabelas, busca-se…
        grava o registro;
        fecha o arquivo;
        end loop;
        END;

        ok ??? Não vejo a necessidade de “código anterior diferente do atual” se a minha suposição estiver correta – se não for isso, plz explica, e SEMPRE EM DETALHES, como se a gente não conhecesse NADA da sua modelagem e da sua necessidade…

        []s

        Chiappa

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