Exportando consulta do banco de dados (Excel, TXT)

Neste fórum vamos mostrar como exportar sua consulta SQL para um arquivo CSV ou um TXT gerado em sua máquina. Ex: Utilize o seguinte comando para criar o arquivo:

COPY  
(  SELECT C.IDCLIFOREMP AS IDCLIFOREMP, 
             C.FANTASIA AS NOME,
             U.USERNAME AS USERNAME,
                C.EMAIL AS EMAIL,
            D.DESCRICAO AS DEPARTAMENTO,
            STRING_AGG(BF.DESCRICAO,', ')
     FROM CLIFOREMP C
     JOIN USUARIO U ON (C.IDCLIFOREMP = U.IDCLIFOREMP) 
	 JOIN USUARIO_PAPELFUNCAO UP ON (U.IDUSUARIO = UP.IDUSUARIO)
	 JOIN BPM_FUNCAO BF ON (BF.IDBPMFUNCAO = UP.IDPAPELFUNCAO)
	 JOIN DEPARTAMENTOS D ON (C.IDDEPARTAMENTO = D.IDDEPARTAMENTO)
	WHERE U.INATIVO = 'N' 
	  AND C.INATIVO = 'N'
	GROUP BY C.IDCLIFOREMP, 
	         C.FANTASIA, 
	         U.USERNAME, 
	         C.EMAIL, 
	         D.DESCRICAO)

TO 'C:/temp/teste.csv' 
DELIMITER ';'  
CSV HEADER 

COPY — Comando que é utilizado para a exportação do arquivo.
( )   —  Dentro do parênteses, abaixo do comando, é onde estará o SQL que irá trazer os dados para a geração do arquivo. Como exemplo, fiz um SQL que traga todos os papeis funções de todos os usuários do DOX.
TO 'C:/temp/teste.csv' —  Local onde o arquivo será gerado e a extensão. Caso queira trocar para um TXT por exemplo, apenas mudar o nome da extensão.
DELIMITER ';'  —  Após o “Delimiter” deverá ser colocado o separador desejado. O separador pode ser ";", ",", "|",  etc… neste caso, foi utilizado o “;” como exemplo.
CSV HEADER — Utiliza-se esse comando caso queira que o nome das colunas apareçam no arquivo gerado(cabeçalho).

Para que o arquivo seja criado, sempre verificar as permissões das pastas do diretório.

image-1646770252576.png

Esse comando de exportar a consulta pode ser usado em um processo, por exemplo, utilizando o evento Registro banco dados - SQL - Executar, com a opção “comando” marcado no conector.

image-1646770271448.png

 


Revisão #1
Criado 8 March 2022 17:01:50 por Nicolly Andrielly
Atualizado 26 October 2023 17:56:46 por Nicolly Andrielly