Quando você executa uma consulta em um banco de dados Oracle usando SQLcl ou SQL*Plus, os resultados são exibidos de acordo com o
SQLFORMAT
opção. Mas dentro disso, há outras coisas que você pode fazer para personalizar o formato dos resultados. Uma das coisas que você pode fazer é especificar um separador de coluna para a grade de saída.
Isso permite que você defina sua grade de saída para se parecer mais com uma grade – ou uma tabela – com suas colunas mais claramente definidas com uma espécie de borda vertical.
O separador de coluna padrão é um único espaço em branco. Abaixo, mostro como alterar o separador de coluna para um separador mais visível.
O separador padrão
Primeiro, vamos definir o
SQLFORMAT
para DEFAULT
:SET SQLFORMAT DEFAULT;
Isso limpa todos os
SQLFORMAT
anteriores configurações e retorna à saída padrão. Agora, vamos ver como é o separador de colunas padrão:
SELECT
employee_id,
first_name,
last_name,
job_id
FROM EMPLOYEES
ORDER BY employee_id ASC
FETCH FIRST 5 ROWS ONLY;
Resultado:
EMPLOYEE_ID FIRST_NAME LAST_NAME JOB_ID ----------- -------------------- ------------------------- ---------- 100 Steven King AD_PRES 101 Neena Kochhar AD_VP 102 Lex De Haan AD_VP 103 Alexander Hunold IT_PROG 104 Bruce Ernst IT_PROG
Conforme mencionado, o separador de coluna padrão é um espaço único.
Vamos mudá-lo.
Definir o separador de colunas
Vamos definir o separador de coluna para o símbolo de barra vertical (
|
):SET COLSEP '|'
E agora vamos executar a consulta novamente:
SELECT
employee_id,
first_name,
last_name,
job_id
FROM EMPLOYEES
ORDER BY employee_id ASC
FETCH FIRST 5 ROWS ONLY;
Resultado:
EMPLOYEE_ID|FIRST_NAME |LAST_NAME |JOB_ID -----------|--------------------|-------------------------|---------- 100|Steven |King |AD_PRES 101|Neena |Kochhar |AD_VP 102|Lex |De Haan |AD_VP 103|Alexander |Hunold |IT_PROG 104|Bruce |Ernst |IT_PROG
Agora o símbolo de pipe é exibido como bordas verticais para as colunas.
Podemos adicionar espaço extra em torno dessas bordas, se desejar:
SET COLSEP ' | '
E agora vamos executar a consulta novamente:
SELECT
employee_id,
first_name,
last_name,
job_id
FROM EMPLOYEES
ORDER BY employee_id ASC
FETCH FIRST 5 ROWS ONLY;
Resultado:
EMPLOYEE_ID | FIRST_NAME | LAST_NAME | JOB_ID ----------- | -------------------- | ------------------------- | ---------- 100 | Steven | King | AD_PRES 101 | Neena | Kochhar | AD_VP 102 | Lex | De Haan | AD_VP 103 | Alexander | Hunold | IT_PROG 104 | Bruce | Ernst | IT_PROG