Formatter PL/SQL
Formatuj SQL Oracle i PL/SQL zgodnie z regułami Oracle dotyczącymi alternatywnego zapisu q'[...]', ciągów N'', identyfikatorów w cudzysłowach podwójnych, zmiennych :bind oraz ukośnika uruchamiającego blok w SQL*Plus. CONNECT BY, START WITH, RETURNING i MINUS pozostają klauzulami, a bloki BEGIN i END z IF i LOOP są wcięte. Niezamknięte ciągi i nawiasy są zgłaszane wraz z numerem wiersza i kolumny, co pomaga programistom Oracle.
Najczęściej zadawane pytania
Jakie elementy składni Oracle są rozpoznawane?
Rozpoznawane są ciągi w pojedynczych cudzysłowach z podwojonymi cudzysłowami, alternatywny zapis, taki jak q'[it's]' lub q'{...}', oraz ciągi krajowe N''. Identyfikatory w cudzysłowach podwójnych, nazwy zawierające # i $, takie jak emp#, zmienne :bind oraz przypisania := pozostają bez zmian.
Czy można formatować bloki PL/SQL?
Tak. Sekcje BEGIN i END, konstrukcje IF THEN ELSE END IF, CASE i LOOP są wcięte, a każda instrukcja znajduje się w osobnym wierszu. Deklaracje przed BEGIN pozostają osobnymi instrukcjami.
Co dzieje się z wierszem zawierającym ukośnik?
Wiersz zawierający wyłącznie /, który uruchamia poprzedni blok w SQL*Plus i SQLcl, pozostaje osobnym wierszem. Oddziela bloki przed nim i po nim.
Które klauzule Oracle otrzymują osobny wiersz?
Zapytania hierarchiczne zachowują klauzule CONNECT BY i START WITH. RETURNING i operator zbiorów MINUS są obsługiwane tak jak standardowe klauzule SELECT, FROM, WHERE, GROUP BY i ORDER BY.
Czy obsługuje MERGE?
Tak. Gałęzie WHEN MATCHED THEN i WHEN NOT MATCHED THEN rozpoczynają nowe wiersze, dzięki czemu instrukcje MERGE Oracle pozostają czytelne.
Czy komentarze są zachowywane?
Tak. Komentarze wierszowe -- i komentarze blokowe /* */ pozostają na miejscu. Wskazówki optymalizatora, takie jak /*+ INDEX(e) */, pozostają dokładnie w zapisanej postaci.
Czy zmienia wielkość liter w słowach kluczowych?
Nie. Słowa kluczowe i identyfikatory zachowują wpisaną wielkość liter. Niekropkowane nazwy Oracle nie rozróżniają wielkości liter, a nazwy w cudzysłowach — tak; obie formy pozostają bez zmian.
Jakie błędy są wykrywane?
Niezamknięte ciągi, zapisy alternatywne, identyfikatory w cudzysłowach i komentarze blokowe oraz niezrównoważone nawiasy — każdy z numerem wiersza i kolumny. Pakiety i gramatyka nie są kompilowane.
Jak duże mogą być dane wejściowe?
Do 1 MB na żądanie i 128 KB na instrukcję lub blok. Większe pakiety można formatować częściami.
Czy mogę wybrać wcięcia i czy mój kod jest zapisywany?
Użyj 2 lub 4 spacji albo tabulatorów. Kod jest formatowany wyłącznie w pamięci i nigdy nie jest zapisywany.