sql >> Database >  >> RDS >> Oracle

Syntaxisaccentuering configureren in SQLcl

Vanaf SQLcl versie 21.2 kunnen we nu SQLcl configureren voor syntaxisaccentuering.

Dat betekent dat de code die u in SQLcl schrijft kleurgecodeerd kan worden, op basis van de regels voor syntaxisaccentuering die u toepast.

De standaard (syntaxisaccentuering uit)

Hier is een vraag die ik in mijn Terminal heb geschreven zonder syntaxisaccentuering:

Er heeft dus geen kleurcodering plaatsgevonden. Dit gebruikt de kleuren die ik heb geconfigureerd in de voorkeuren van mijn Terminal, wat eigenlijk gewoon witte tekst op een zwarte achtergrond was.

Schakelmarkering inschakelen

U kunt syntaxisaccentuering inschakelen met de volgende regel:

set highlighting on

Dit biedt een basisniveau van syntaxisaccentuering.

Zo ziet dezelfde zoekopdracht er nu uit:

In principe worden SQL-trefwoorden gemarkeerd in cyaan, maar niets anders is dat.

Meer kleurcodering toevoegen

Gelukkig kunnen we wat meer kleurcodering toevoegen.

Bijvoorbeeld:

set highlighting identifier foreground magenta

Dit kleurt alle identifiers met een voorgrondkleur van magenta:

Bewaar instellingen op een login.sql Bestand

U kunt uw instellingen voor syntaxisaccentuering opslaan op een login.sql het dossier.

Door dit te doen, hoeft u niet elke keer dat u verbinding maakt met SQLcl deze instellingen te configureren. Dit komt omdat je het zo kunt configureren dat de login.sql bestand wordt uitgevoerd elke keer dat u verbinding maakt met SQLcl.

Hier is een voorbeeld van een login.sql bestand dat commando's voor het markeren van syntaxis bevat:

set sqlformat ansiconsole

set highlighting on
set highlighting keyword foreground blue
set highlighting identifier foreground magenta
set highlighting string foreground green
set highlighting number foreground cyan
set highlighting comment foreground yellow

Hier is mijn eerste regel niet gerelateerd aan syntaxisopmaak - het stelt alleen de sqlformat in naar ansiconsole .

De resterende regels maken syntaxisaccentuering mogelijk en specificeren welke kleuren moeten worden gebruikt.

Zodra u syntaxisaccentuering heeft toegevoegd aan uw login.sql bestand, sluit SQLcl af en maak opnieuw verbinding. Wanneer het opnieuw verbinding maakt, zal het de login.sql . uitvoeren bestand, en al die commando's zullen van kracht worden.

Nadat ik de bovenstaande opdrachten heb toegevoegd aan mijn login.sql bestand, zo ziet mijn query er nu uit (nadat ik SQLcl heb afgesloten en opnieuw verbinding heb gemaakt):

Misschien had ik de zoekwoorden op cyaan moeten laten staan?

Andere opties voor het markeren van syntaxis

Er zijn ook andere opties, zoals de mogelijkheid om een ​​achtergrondkleur in te stellen, een vetgedrukte vlag in te stellen, enz.

De beste manier om deze te ontdekken is door het volgende commando uit te voeren:

help set highlighting

Dit is wat dat voor mij oplevert op het moment van schrijven:

set highlighting <flag>
                | <type> RESET
                | <type> FOREGROUND <color>
                | <type> BACKGROUND <color>
                | <type> BOLD <flag>
                | <type> ULINE <flag>
                | <type> INVERSE <flag>

	<type>  = DEFAULT | COMMENT | STRING | NUMBER | PUNCTUATION
           | KEYWORD | IDENTIFIER
	<color> = RED | BLUE | BLACK | CYAN | GREEN | MAGENTA | WHITE
           | YELLOW
	<flag>  = ON | OFF | RESET

EXAMPLES
	set highlighting on

De lijst met kleuren is vrij klein (tenminste op het moment van schrijven), maar het is nog steeds voldoende om behoorlijke syntaxisaccentuering te bieden.

Aangezien syntaxisaccentuering een nieuwe functie is, is het waarschijnlijk dat de bovenstaande helpopties in de toekomst zullen veranderen en uitgebreid zullen worden.


  1. 4 manieren om een ​​getal om te zetten naar een percentage in SQL Server (T-SQL)

  2. Automatisering gebruiken om releasetests op PostgreSQL te versnellen

  3. SQL Server SHOWPLAN_TEXT

  4. Hoe een kolom in SQL te verwijderen