Formateador de PL/SQL
Formatea Oracle SQL y PL/SQL con reglas de Oracle para las comillas alternativas q'[...]', las cadenas N'', los identificadores entre comillas dobles, las variables :bind y la barra que ejecuta un bloque en SQL*Plus. CONNECT BY, START WITH, RETURNING y MINUS se mantienen como cláusulas, y los bloques BEGIN y END con IF y LOOP llevan sangría. Las cadenas y los paréntesis sin cerrar se indican con la línea y la columna para los desarrolladores de Oracle.
Preguntas frecuentes
¿Qué sintaxis de Oracle se entiende?
Se reconocen las cadenas entre comillas simples con comillas duplicadas, las comillas alternativas como q'[it's]' o q'{...}' y las cadenas nacionales N''. Los identificadores entre comillas dobles, los nombres con # y $, como emp#, las variables :bind y las asignaciones := se conservan intactos.
¿Puede formatear bloques de PL/SQL?
Sí. Las secciones BEGIN y END, las estructuras IF THEN ELSE END IF, CASE y LOOP llevan sangría, y cada instrucción queda en su propia línea. Las declaraciones anteriores a BEGIN se mantienen como instrucciones independientes.
¿Qué ocurre con la línea de la barra?
Una línea que contiene solo /, que ejecuta el bloque anterior en SQL*Plus y SQLcl, se mantiene en su propia línea. Separa los bloques anterior y posterior.
¿Qué cláusulas de Oracle van en su propia línea?
Las consultas jerárquicas conservan CONNECT BY y START WITH como cláusulas. RETURNING y el operador de conjuntos MINUS se gestionan como las cláusulas estándar SELECT, FROM, WHERE, GROUP BY y ORDER BY.
¿Es compatible con MERGE?
Sí. Las ramas WHEN MATCHED THEN y WHEN NOT MATCHED THEN comienzan en líneas nuevas para que las instrucciones MERGE de Oracle sigan siendo legibles.
¿Se conservan los comentarios?
Sí. Los comentarios de línea -- y los comentarios de bloque /* */ se mantienen en su sitio. Las sugerencias del optimizador, como /*+ INDEX(e) */, se conservan exactamente como están escritas.
¿Cambia el uso de mayúsculas y minúsculas en las palabras clave?
No. Las palabras clave y los identificadores conservan las mayúsculas y minúsculas originales. Los nombres de Oracle sin comillas no distinguen entre mayúsculas y minúsculas; los que llevan comillas, sí. Ambos se conservan tal cual.
¿Qué errores se detectan?
Se indican las cadenas, las comillas alternativas, los identificadores entre comillas y los comentarios de bloque sin cerrar, así como los paréntesis desequilibrados, con la línea y la columna de cada uno. Los paquetes y la gramática no se compilan.
¿Qué tamaño puede tener la entrada?
Hasta 1 MB por solicitud y 128 KB por instrucción o bloque. Los paquetes más grandes se pueden formatear por partes.
¿Puedo elegir la sangría y se guarda mi código?
Use 2 o 4 espacios o tabulaciones. El código se formatea solo en memoria y nunca se guarda.