Eu quero retornar sqlplus
a saída como tsv. Para isso eu uso set markup csv
. mas não aceita tabulação como delimitador, não \t
e tabulação real.
erro é
SP2-1660: Invalid option. Only a single character be specified.
em qualquer um de:
sqlplus -M "CSV on delimiter '\t' QUOTE OFF" -s user/pass@host
sqlplus -M "CSV on delimiter ' ' QUOTE OFF" -s user/pass@host
sqlplus
versão é 21.0
. A solução tem que ser sqlplus
argumento ou set
comando.
Por que?
sqlplus
pode executar um script automaticamente no login que pode definir a formatação que você precisa. Apenas um exemplo:De qualquer maneira , o TSV está a apenas 1
sed
de distância do CSV.A aplicação dos
-M "CSV ON DELIMI '\t' QUOTE OFF"
parâmetros ao iniciar o sqlplus desativa determinadasSET
opções, conforme descrito no seguinte artigo:Referência: Comandos não suportados quando SET MARKUP CSV está ativado (Oracle Docs | Guia e referência do usuário)
E como a
DELIMI[TER]
parte do parâmetro de inicialização é muito limitada, talvez você queira abrir mão do-M CSV
parâmetro de inicialização e, em vez disso, optar pelaSET COLSEP
configuração.Boa sorte.