oracleOlá a todos. Neste post irei falar um pouco sobre essa ferramenta que, ao meu ver, veio para substituir o SQL*Plus a médio/longo prazo. Trata-se do SQLcl, ou “SQL Command Line”

 

1)Introdução

É uma evolução do SQL*Plus. É uma interface de linha de comando para bases de dados Oracle com funcionalidades extras e facilidades em relação ao SQL*Plus.

Ele pode ser instalado separadamente do SQL*Plus

Adiciona algumas funcionalidades não existentes no SQL*Plus, porém, todos os comandos do SQL*Plus funcionam nessa ferramenta:

* Name/Object Completion (através do TAB)
* História de execução de SQLs
* Formatação de result sets/output através do comando “set sqlformat”
* Permite a criação de aliases
* Permite duplicar tabelas com o comando “ctas”
* Permite gerar DDLs através do comando “ddl”
* Obter informações detalhadas através do comando “info+”

Requer o Java 7 (JRE)

É chamado através do comando “sql”

Para instalar, basta descompactar e dar permissões de execução (chmod +x) ao binário “sql”.

OBS1: Download: http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html

 

2)Exemplos

Para ilustrar melhor as funcionalidades da ferramenta, vamos trabalhar com alguns exemplos simples, mas que já mostram seu potêncial.

 

EX001 – Se conectando a uma base de dados

./sql username/senha@tns
./sql sys/senha as sysdba

 

EX002 – Mostrando todas as configurações da ferramenta

SQL> show all

 

EX003 – Trabalhando com histórico de comandos executados

### sintaxe
SQL> history <full | usage | time>

OBS1: “usage” mostra quantas vezes um determinado SQL foi executado

OBS2: “time” mostra o tempo de execução do comando SQL

### limpando o historico
SQL> history clear

OBS1: É possível digitar “edit” para editar o último comando do buffer.

 

EX004 – Trabalhando com aliases

### listando os aliases já criados. já existem alguns aliases pré-criados
SQL> alias

### exibindo detalhes do alias
SQL> alias list <nome_alias>

### criando um alias
SQL> alias comando=clausula_sql
SQL> alias dbsizembs=select sum(bytes)/1024/1024 from dba_data_files;

 

EX005 – Alterando a formatação do output

### sintaxe
SQL> set sqlformat default|ansiconsole|html|csv|xml

OBS1: “ansiconsole” é útil para exibir os textos com seus cabeçalhos e espaçamentos entre as colunas

OBS2: Para voltar a formatação original, basta usar o parâmetro “default”

 

### com o “sqlformat” é possível pegar um resulteset de uma query e salvar em um formato útil, como csv. Ex:
SQL> set sqlformat csv
SQL> spool output.vendas.sql
SQL> select * from tab_vendas;
SQL> spool off

 

EX006 – Obtendo informações sobre uma tabela. Vem a ser uma “evolução” do DESC. O “+” exibe ainda mais detalhes sobre a tabela.

SQL> info schema.tabela
SQL> info+ schema.tabela

 

EX007 – Gerando o DDL de um objeto

### sintaxe
SQL> DDL schema.objeto

### gerando o ddl e salvando em um arquivo
SQL> DDL schema.objeto arquivo.sql

 

EX008 – Criando uma tabela, a partir de outra tabela (CTAS):

SQL> ctas schema.tabela_origem schema.nova_tabela;

 

EX009 – Executando scripts .sql

sql user/senha @script.sql

 

EX010 – Exibindo informações sobre um erro ORA-XXX

SQL> oerr ORA-600

 

EXTRAS – Exibindo o símbolo do SQL Developer e os criadores da ferramenta SQLcl

SQL> show sqldev

SQL> show sqldev2

 

Eu já estou usando essa ferramenta em alguns projetos e até o momento, gostando bastante das facilidades que ela fornece em relação ao tradicional SQL*Plus. Creio que em breve, ela venha a substituir este.

Com isso encerro esse pequeno post. Até a próxima.