Formattatore PL/SQL
Formatta SQL Oracle e PL/SQL secondo le regole Oracle per le virgolette alternative q'[...]', le stringhe N'', gli identificatori tra virgolette doppie, le variabili :bind e la barra che esegue un blocco in SQL*Plus. CONNECT BY, START WITH, RETURNING e MINUS restano clausole, mentre i blocchi BEGIN ed END con IF e LOOP vengono indentati. Le stringhe e le parentesi non chiuse vengono segnalate con riga e colonna per gli sviluppatori Oracle.
Domande frequenti
Quale sintassi Oracle viene riconosciuta?
Vengono riconosciute le stringhe tra virgolette singole con virgolette raddoppiate, le virgolette alternative come q'[it's]' o q'{...}' e le stringhe nazionali N''. Gli identificatori tra virgolette doppie, i nomi con # e $ come emp#, le variabili :bind e le assegnazioni := restano intatti.
Può formattare blocchi PL/SQL?
Sì. Le sezioni BEGIN ed END, i costrutti IF THEN ELSE END IF, CASE e LOOP vengono indentati, con ogni istruzione su righe separate. Le dichiarazioni prima di BEGIN restano istruzioni separate.
Che cosa succede alla riga con la barra?
Una riga che contiene solo /, che esegue il blocco precedente in SQL*Plus e SQLcl, rimane su una riga separata. Separa i blocchi che la precedono e la seguono.
Quali clausole Oracle vengono messe su una riga separata?
Nelle query gerarchiche, CONNECT BY e START WITH restano clausole separate. RETURNING e l'operatore di insieme MINUS vengono gestiti come le clausole standard SELECT, FROM, WHERE, GROUP BY e ORDER BY.
Supporta MERGE?
Sì. I rami WHEN MATCHED THEN e WHEN NOT MATCHED THEN iniziano su nuove righe, così le istruzioni MERGE di Oracle restano leggibili.
I commenti vengono mantenuti?
Sì. I commenti di riga -- e i commenti di blocco /* */ restano al loro posto. I suggerimenti per l'ottimizzatore come /*+ INDEX(e) */ restano esattamente come sono stati scritti.
Modifica le maiuscole delle parole chiave?
No. Le parole chiave e gli identificatori mantengono le maiuscole e le minuscole originali. I nomi Oracle senza virgolette non distinguono tra maiuscole e minuscole, mentre quelli tra virgolette sì; entrambi restano invariati.
Quali errori vengono rilevati?
Stringhe, virgolette alternative, identificatori tra virgolette e commenti di blocco non chiusi, oltre a parentesi non bilanciate, ciascuno con riga e colonna. I package e la grammatica non vengono compilati.
Qual è la dimensione massima dell'input?
Fino a 1 MB per richiesta e 128 KB per istruzione o blocco. I package più grandi possono essere formattati in più parti.
Posso scegliere il rientro e il mio codice viene salvato?
Usate 2 o 4 spazi oppure le tabulazioni. Il codice viene formattato solo in memoria e non viene mai salvato.