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.
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.