Uma pergunta frequente entre meus alunos é: Como gerar um arquivo TXT ou CSV (extensão para abrir no microsoft Excel) gerando assim relatórios que possam ser impressos ou entregues via email quando uma atividade for solicitada. A solução para o problema desses alunos é o comando SPOOL cuja sintaxe pode ser vista abaixo.
SPO[OL] [file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]] | OFF | OUT]
O comando SPOOL é um comando SQL que salva uma série de instruções SQL e resultados de instruções em um arquivo de saída ou envia o arquivo para uma impressora. A utilização do SPOOL é simples, basta estar conectado ao SQL e digitar as seguintes linhas de comando:
SQL> spool c:\[nome_qualquer_do_seu_arquivo].[txt ou csv]
SQL> Comando/relatórios que serão gravados no arquivo
SQL> spool off
O primeiro passo para a criação do Arquivo de SPOOL é indicar o nome e tipo do arquivo que será gerado o relatório. Nesta primeira linha de comando também deve ser indicado o diretório que o arquivo será gerado. Após habilitar o comando SPOOL, todos os comando digitados assim como as mensagens e relatórios gerados pelos SQL serão armazenados no arquivo criado. Na figura 1 é possível ver um exemplo onde um arquivo chamado atividade1.txt foi criado na pasta c:\test. Dentro deste arquivo serão salvas as informações obtidas através do comando DESC e do comando SELECT conforme apresentado na figura 2.
Figura 1. Criação de arquivo de SPOOL no SQL 11g Express. |
Após finalizar o comando, vá na pasta onde o arquivo foi gerado e verifique se está tudo ok.
Figura 2. Arquivo de extensão TXT gerado pelo SQL. |
Por padrão, se você utilizar o comando SPOOL em um arquivo onde outras informações já tenham sido salvas, o comando irá substituir o arquivo existente por um novo arquivo. Caso o programador desejar incluir informações adicionais (Não substituir o conteúdo) ao arquivo já existente basta adicionar a palavra APPEND ao comando de criação de arquivo SPOOL conforme indicado na figura 3.
Figura 3. Inclusão de conteudo ao Arquivo de SPOOL. |
Não esqueça que se você tiver usando uma rede no seu trabalho ou no laboratório da Universidade o administrador da rede pode restringir as pastas onde o usuário pode salvar arquivos, caso você tente gerar um arquivo em local onde o administrador de redes não concede permissão o SQL não irá avisa-lo sobre o "problema".
Espero que essa postagem tenha sido útil, qualquer duvida deixei uma mensagem para nós. Não esqueça de curtir nossas redes sociais (Facebook e G+) clicando os gadget abaixo.
Nenhum comentário:
Postar um comentário