Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como adicionar bordas verticais à sua grade de saída SQL*Plus/SQLcl


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