Formatador de PL/SQL
Formate SQL Oracle e PL/SQL com regras do Oracle para aspas alternativas q'[...]', strings N'', identificadores entre aspas duplas, variáveis :bind e a barra que executa um bloco no SQL*Plus. CONNECT BY, START WITH, RETURNING e MINUS são mantidos como cláusulas, e blocos BEGIN e END com IF e LOOP são indentados. Strings e parênteses não fechados são indicados com linha e coluna para desenvolvedores Oracle.
Perguntas frequentes
Qual sintaxe Oracle é reconhecida?
Strings entre aspas simples com aspas duplicadas, aspas alternativas como q'[it's]' ou q'{...}' e strings nacionais N'' são reconhecidas. Identificadores entre aspas duplas, nomes com # e $ como emp#, variáveis :bind e atribuições := são mantidos intactos.
É possível formatar blocos PL/SQL?
Sim. Seções BEGIN e END, construções IF THEN ELSE END IF, CASE e LOOP são indentadas, com cada instrução em suas próprias linhas. Declarações antes de BEGIN são mantidas como instruções próprias.
O que acontece com a linha da barra?
Uma linha que contém apenas /, que executa o bloco anterior no SQL*Plus e no SQLcl, permanece em sua própria linha. Ela separa os blocos antes e depois.
Quais cláusulas Oracle ficam em uma linha própria?
Consultas hierárquicas mantêm CONNECT BY e START WITH como cláusulas. RETURNING e o operador de conjunto MINUS são tratados como as cláusulas padrão SELECT, FROM, WHERE, GROUP BY e ORDER BY.
Há suporte a MERGE?
Sim. Os ramos WHEN MATCHED THEN e WHEN NOT MATCHED THEN começam em novas linhas, mantendo legíveis as instruções MERGE do Oracle.
Os comentários são mantidos?
Sim. Comentários de linha -- e comentários de bloco /* */ são mantidos no lugar. Dicas do otimizador, como /*+ INDEX(e) */, permanecem exatamente como foram escritas.
A ferramenta altera maiúsculas e minúsculas das palavras-chave?
Não. Palavras-chave e identificadores mantêm a capitalização que você usou. Nomes Oracle sem aspas não diferenciam maiúsculas de minúsculas; os que estão entre aspas diferenciam, e ambos permanecem como estão.
Quais erros são detectados?
Strings, aspas alternativas, identificadores entre aspas e comentários de bloco não fechados, além de parênteses desequilibrados, são indicados com linha e coluna. Pacotes e gramática não são compilados.
Qual pode ser o tamanho da entrada?
Até 1 MB por solicitação e 128 KB por instrução ou bloco. Pacotes maiores podem ser formatados em partes.
Posso escolher a indentação e meu código é armazenado?
Use 2 ou 4 espaços ou tabulações. O código é formatado apenas na memória e nunca é salvo.