Ir para o conteúdo principal

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