PL/SQL-opmaker
Formatteer Oracle SQL en PL/SQL volgens de Oracle-regels voor alternatieve aanhalingstekens zoals q'[...]', N''-strings, identifiers tussen dubbele aanhalingstekens, :bind-variabelen en de slash die een blok uitvoert in SQL*Plus. CONNECT BY, START WITH, RETURNING en MINUS blijven clausules, en BEGIN- en END-blokken met IF en LOOP krijgen inspringing. Niet-afgesloten strings en haakjes worden met regel- en kolomnummer gemeld, voor Oracle-ontwikkelaars.
Veelgestelde vragen
Welke Oracle-syntaxis wordt herkend?
Strings tussen enkele aanhalingstekens met verdubbelde aanhalingstekens, alternatieve aanhalingstekens zoals q'[it's]' of q'{...}' en nationale N''-strings worden herkend. Identifiers tussen dubbele aanhalingstekens, namen met # en $ zoals emp#, :bind-variabelen en :=-toewijzingen blijven intact.
Kan de tool PL/SQL-blokken opmaken?
Ja. BEGIN- en END-secties, IF THEN ELSE END IF, CASE- en LOOP-constructies krijgen inspringing, waarbij elke statement op een eigen regel staat. Declaraties vóór BEGIN blijven eigen statements.
Wat gebeurt er met de slashregel?
Een regel die alleen / bevat, waarmee het vorige blok wordt uitgevoerd in SQL*Plus en SQLcl, blijft op een eigen regel staan. De regel scheidt de blokken ervoor en erna.
Welke Oracle-clausules krijgen een eigen regel?
Hiërarchische query's behouden CONNECT BY en START WITH als clausules. RETURNING en de MINUS-setoperator worden behandeld als de standaardclausules SELECT, FROM, WHERE, GROUP BY en ORDER BY.
Ondersteunt dit MERGE?
Ja. De WHEN MATCHED THEN- en WHEN NOT MATCHED THEN-takken beginnen op nieuwe regels, zodat Oracle MERGE-statements leesbaar blijven.
Blijven commentaren behouden?
Ja. ---regelcommentaar en /* blokcommentaar */ blijven staan. Optimalisatietips zoals /*+ INDEX(e) */ blijven precies zoals ze zijn geschreven.
Verandert de hoofdlettergebruik van trefwoorden?
Nee. Trefwoorden en identifiers behouden de schrijfwijze die je hebt ingevoerd. Niet tussen aanhalingstekens geplaatste Oracle-namen zijn niet hoofdlettergevoelig, namen tussen aanhalingstekens wel; beide blijven zoals ze zijn.
Welke fouten worden gedetecteerd?
Niet-afgesloten strings, alternatieve aanhalingstekens, identifiers tussen aanhalingstekens en blokcommentaar, en haakjes die niet in balans zijn; elk met regel- en kolomnummer. Packages en grammatica worden niet gecompileerd.
Hoe groot mag de invoer zijn?
Maximaal 1 MB per verzoek en 128 KB per statement of blok. Grotere packages kunnen in delen worden opgemaakt.
Kan ik de inspringing kiezen en wordt mijn code opgeslagen?
Gebruik 2 of 4 spaties of tabs. De code wordt alleen in het geheugen opgemaakt en nooit opgeslagen.