Formátovač PL/SQL
Formátujte SQL a PL/SQL podle pravidel Oracle pro alternativní zápis q'[...]', řetězce N'', identifikátory v dvojitých uvozovkách, proměnné :bind a lomítko, které spouští blok v SQL*Plus. CONNECT BY, START WITH, RETURNING a MINUS zůstávají klauzulemi a bloky BEGIN a END s IF a LOOP se odsazují. Neuzavřené řetězce a závorky se vývojářům Oracle hlásí spolu s řádkem a sloupcem.
Často kladené otázky
Jaké syntaxi Oracle nástroj rozumí?
Rozpoznávají se řetězce v jednoduchých uvozovkách se zdvojenými uvozovkami, alternativní zápis jako q'[it's]' nebo q'{...}' a národní řetězce N''. Identifikátory v dvojitých uvozovkách, názvy s # a $, například emp#, proměnné :bind a přiřazení := zůstávají nedotčené.
Dokáže formátovat bloky PL/SQL?
Ano. Oddíly BEGIN a END, konstrukce IF THEN ELSE END IF, CASE a LOOP se odsazují a každý příkaz je na samostatném řádku. Deklarace před BEGIN zůstávají samostatnými příkazy.
Co se stane s řádkem obsahujícím lomítko?
Řádek obsahující pouze /, který spouští předchozí blok v SQL*Plus a SQLcl, zůstává na samostatném řádku. Odděluje bloky před sebou a za sebou.
Které klauzule Oracle dostanou vlastní řádek?
Hierarchické dotazy zachovávají CONNECT BY a START WITH jako klauzule. RETURNING a množinový operátor MINUS se zpracovávají stejně jako standardní klauzule SELECT, FROM, WHERE, GROUP BY a ORDER BY.
Podporuje MERGE?
Ano. Větve WHEN MATCHED THEN a WHEN NOT MATCHED THEN začínají na nových řádcích, takže příkazy Oracle MERGE zůstávají přehledné.
Zachovávají se komentáře?
Ano. Jednořádkové komentáře -- a blokové komentáře /* */ zůstávají na místě. Nápovědy pro optimalizátor, například /*+ INDEX(e) */, zůstávají přesně tak, jak byly napsány.
Mění se velikost písmen klíčových slov?
Ne. Klíčová slova a identifikátory zachovávají velikost písmen, kterou jste napsali. Názvy Oracle bez uvozovek nerozlišují velikost písmen, názvy v uvozovkách ano, a obojí zůstává beze změny.
Které chyby se zjišťují?
Neuzavřené řetězce, alternativní uvozovací zápis, identifikátory v uvozovkách a blokové komentáře i nevyvážené závorky, vždy s uvedením řádku a sloupce. Balíčky ani gramatika se nekompilují.
Jak velký může být vstup?
Až 1 MB na požadavek a 128 KB na příkaz nebo blok. Větší balíčky lze formátovat po částech.
Mohu zvolit odsazení a ukládá se můj kód?
Použijte 2 nebo 4 mezery nebo tabulátory. Kód se formátuje pouze v paměti a nikdy se neukládá.