Pergunta

Alguém tem um bom conjunto de diretivas de configuração do SQLPLUS para ajudar a transformar uma determinada consulta SQL em uma saída separada da guia para puxar uma planilha ou processamento adicional?

Foi útil?

Solução

Confira a documentação do Oracle:

Você pode gerar uma guia no Oracle usando o valor ASCII da TAB 9 e a função CHR:

select chr(9) from dual;

Outras dicas

Como Justin apontou em seu link, usando o set colsep Função O comando sqlplus salva digitar um separador para cada coluna.

Mas para Tab-delimitado, set colsep Chr(9) não vai funcionar.

Para Unix ou Linux, use set colsep ' ' com o espaço entre as cantetas únicas sendo uma guia digitada.

Para Windows, use estas configurações:

col TAB# new_value TAB NOPRINT
select chr(9) TAB# from dual;
set colsep "&TAB"

select * from table;

Um script específico que eu roubei em mais de uma ocasião vem de um tópico de Asktom Extraindo dados para um arquivo plano. Se eu precisava de um arquivo plano rápido e sujo do SQL*Plus. Eu tenderia a preferir a função dump_csv que Tom postou anteriormente nesse tópico para qualquer tipo de processo contínuo.

Eu tenho uma solução estúpida. Funcionou muito bem.

Solução

SELECT column1 || CHR(9) || column2 || CHR(9) || column3 ... ...
FROM table

princípio por trás

Na verdade, é apenas um Concatenação da string.

Chr (9) -> ' t'

coluna1 || Chr (9) || coluna2 -> CONCAT (Column1, ' t', Column2)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top