Inhoudsopgave
- T SQL-indelingsopties
- Voorbeeld van impact
- SQL-opmaakprofielen
- Importeren / exporteren van SQL-opmaakprofielen
- Object in een batch opmaken
- T-SQL-scripts opmaken in een batch
- Hostintegratie
- Ondersteuning voor hoge DPI- en 4K-resolutie
Niemand houdt ervan om een hoop rommelige, niet-opgemaakte tekst te controleren en te lezen. Als het gaat om het lezen van een complexe SQL-code, kan dat probleem zelfs nog moeilijker worden, vooral als jij degene bent die het moet ontwarren.
SQL-code kan worden opgemaakt met een stijl die het lezen ervan gemakkelijker maakt , vooral als het hele team hetzelfde gebruikt. Schone, goed opgemaakte (consistente) SQL-code kan veel sneller worden gelezen dan inconsistent geschreven SQL-code, ongeacht of de inconsistentie tussen teamleden en verschillende objecten of zelfs binnen hetzelfde script van het object zelf is. Goed georganiseerde en opgemaakte SQL-code kan efficiënter worden herzien. Het overdragen van een project aan een ander team of een klant met goed opgemaakte SQL-code zal veel soepeler verlopen en veel meer gewaardeerd worden.
Het grootste probleem met de opmaak van SQL-scripts is dat er geen stijl of standaarden zijn voor hoe de SQL code moet worden opgemaakt en alles is over het algemeen een kwestie van voorkeur. De beste oplossing hier is om de normen vast te stellen waaraan u en uw team in het bedrijf zich zullen houden, en er vervolgens voor te zorgen dat ze consistent worden toegepast.
Alle SQL-code kan handmatig worden opgemaakt, wat erg tijdrovend is maar er bestaan tools van derden en deze kunnen worden gebruikt om snel en efficiënt te formatteren.
Dit artikel beschrijft en introduceert enkele basisrichtlijnen en verwachtingen voor wat een perfecte SQL-queryformatter-tool zou moeten hebben om uw doel te bereiken om een consistente en standaard opmaakstijl (standaard) vast te stellen en hoe u die stijl met één klik op één T-SQL-script of veel T-SQL-scripts of objecten kunt toepassen.
Een van die opmaakhulpmiddelen is ApexSQL Refactor, add-in die kan worden geïntegreerd in SQL Server Management Studio (SSMS) of Visual Studio (VS). ApexSQL Refactor heeft meer dan 200 opties en functies voor het formatteren van SQL-query’s voor het toepassen van een stijl op één of bulk T-SQL-scripts tegelijk.
Opties
Het eerste doel is het instellen van basisopties. Een van de grootste zorgen bij het vaststellen van standaarden is welke T-SQL-sleutelwoorden wel of niet met een hoofdletter moeten worden geschreven in de code.
Onder het tabblad Hoofdlettergebruik van het venster Opties kunnen regels voor hoofdlettergebruik worden ingesteld voor de volgende:
Om de juiste regel voor hoofdletters in te stellen, kunnen de volgende opties worden gebruikt: HOOFDLETTERS, kleine letters, lowerCamelCase, UpperCamelCase , Juiste zaak, of laat de standaard SQL-querylay-outregels achter door de optie uit te schakelen:
Sommige ontwikkelaars geven de voorkeur aan SQL-trefwoorden, datatypes , etc. om in HOOFDLETTERS te staan en andere ontwikkelaars houden echter van de SQL-sleutelwoorden die in kleine letters moeten staan.
De beste oplossing bij het kiezen van een tool is er een te kiezen die al die verschillende voorkeuren aankan.
In het eerste voorbeeld zijn trefwoorden hoofdletters en gegevenstypes kleine letters:
In de tweede voorbeeld, trefwoorden zijn kleine letters en da ta-typen zijn hoofdletters:
Het derde voorbeeld, trefwoorden en gegevenstypen zijn hoofdletters:
SQL Formatter Impact preview
Een van de kritische dingen die elke SQL layout tool zou moeten hebben, is om visueel een voorbeeld te kunnen bekijken hoe de SQL-code eruitziet na het toevoegen van enkele opties.
ApexSQL Refactor heeft een impactvoorbeeld van de SQL-code-indeling die een duidelijk inzicht en een overzicht geeft van de impact van eventuele wijzigingen in opties onmiddellijk wanneer u ze aanbrengt. Als het je niet bevalt, kan het gemakkelijk worden gewijzigd en teruggedraaid zonder op te slaan:
De regels voor hoofdlettergebruik instellen van SQL-trefwoorden, gegevenstypen, ID’s (objectnamen), systeemfuncties, variabelen is slechts één item in de set van de stijl.
SQL-codelay-outregels voor aliassen, opmerkingen, komma’s, spatiëring, uitlijning, enz., moet ook worden ingesteld om een goede, consistente, leesbare en goed opgemaakte SQL-code te hebben.
Voor alle bovengenoemde zaken moet een opmaaktool-tool opties hebben voor het instellen van deze SQL-stijlregels voor query’s.
ApexSQL Refactor heeft al deze opties om aan uw vereisten te voldoen.Meer over SQL-opmaakopties is te vinden via de onderstaande links:
- Regels voor SQL-opmaak – Komma’s en spaties in T-SQL
- Regels voor SQL-opmaak – Normaal en gescheiden T-SQL-ID’s
- Regels voor SQL-opmaak – SQL-code commentaar
- Regels voor SQL-opmaak – SQL-naamgevingsconventies en regels voor hoofdlettergebruik
- Regels voor SQL-opmaak – Beëindiging SQL-statements met puntkomma’s
SQL-queryformatterprofielen
In staat zijn om een gewenste stijl in te stellen, die stijl op te slaan en de stijl te delen met collega’s is iets anders dan elke SQL Server formatter-tool moet. Bovendien is het hebben van een vooraf ingestelde selectie van vooraf geconfigureerde profielen, out-of-the-box, erg handig.
Met ApexSQL Refactor kunnen gebruikers:
- opslaan Opmaakopties voor SQL-query’s naar een herbruikbaar profiel
- groepeer en categoriseer opmaakstijlen
- wijzig snel bestaande profielen
- vermijd conflicten met andere gebruikers
Bovendien wordt ApexSQL Refactor geleverd met vier ingebouwde profielen
- ApexSQL – bevat wat we hebben vastgesteld dat een goede SQL-formatterstandaard is
- Compact – stelt de optie voor inspringen in tot 0 (nul) spatie, worden alle extra spaties uitgeschakeld en worden lege regels verwijderd voor een zoekopdracht waarbij de SQL-code er compact uitziet.
- Uitgebreid – is het tegenovergestelde van het Compact-profiel. Dit profiel voegt lege regels toe voor / na elke stelling, opmerkingen. Voeg ruimte toe rond rekenkundige, logische operatoren
- MSDN SQL BOL – bootst de stijl na die wordt gebruikt in de MSDN-bronsite
Die vier ingebouwde profielen kunnen op geen enkele manier worden gewijzigd , maar een kopie van deze ingebouwde SQL-queryformatterprofielen kan worden gemaakt door op de knop Kopiëren te klikken en kan vervolgens op de gewenste manier worden gewijzigd:
Ook kan een nieuw SQL-formatterprofiel worden gemaakt door op de knop Nieuw te klikken:
SQL-formaatprofielen importeren / exporteren
Als u eenmaal het perfecte profiel heeft gemaakt, is het belangrijk om het te kunnen exporteren om het voor anderen toegankelijk te maken; evenals voor de ontvangers van het profiel om het gemakkelijk te kunnen importeren. ApexSQL Refactor biedt precies deze functionaliteit.
Om profielen te exporteren en te delen met collega’s, drukt u op de knop Exporteren in het venster Opties:
Om profielen in het venster Opties te importeren, drukt u op de knop Importeren.
Meer over ApexSQL-refactorprofielen is te vinden op de pagina Hoe SQL-opmaakprofielen aanpassen.
Objecten in een batch verwerken
Zodra het formaatprofiel is gemaakt en de opties zijn ingesteld, kan het formatteren van SQL-code serieus beginnen, met één object of script tegelijk. Maar hoe zit het met het in één keer verwerken van alles in een database?
Het afzonderlijk verwerken van veel SQL-objecten, zoals opgeslagen procedures, kan natuurlijk een zeer moeilijke en tijdrovende klus zijn.
Dus , een ander ding dat we kunnen toevoegen, is dat elke opmaaktool een functie moet hebben die meerdere SQL-objecten tegelijk kan opmaken met een enkel gewenst SQL-profiel.
ApexSQL Refactor heeft de functie voor het opmaken van SQL-objecten die precies dat. Selecteer in Objectverkenner een database waarin zich de objecten bevinden die moeten worden opgemaakt, klik met de rechtermuisknop en kies in het contextmenu de opdracht SQL-objecten opmaken:
Alle op script gebaseerde objecten, bijv weergave, worden opgeslagen procedures weergegeven in het venster SQL-objecten opmaken:
Selecteer onder de keuzelijst Profiel de gewenste SQL opmaakprofiel (bijv. ApexSQL) en kies uit de lijst de SQL-objecten die u wilt opmaken, klik op de knop Script maken, waardoor een script wordt geopend in de Query-editor, en klik vervolgens op de knop Uitvoeren (F5):
Om te bevestigen dat SQL-objecten zijn opgemaakt met het gewenste profiel, gaat u terug naar het venster SQL-objecten opmaken, onder de keuzelijst Profiel kiest u een profiel en, in de lijst met SQL-objecten, onder de kolom OK met een groen vinkje, worden SQL-objecten die zijn opgemaakt, aangegeven, alle andere SQL-objecten worden gemarkeerd met een rood x-pictogram dat aangeeft dat ze niet zijn opgemaakt met het geselecteerde profiel :
Bovendien kunnen, voordat een SQL-objectscript met het gewenste profiel wordt geformatteerd, dezelfde SQL-scripts worden weergegeven zodat de gebruiker kan zien e hoe het eruit zal zien nadat het is verwerkt. Op deze manier kan het worden vergeleken door een gewenst SQL-object uit de lijst te selecteren, met de rechtermuisknop te klikken en de knop Vergelijken te selecteren:
Batch-scripts T-SQL-formaat
Een ander ding dat in overweging moet worden genomen, bij het kiezen van de juiste SQL-opmaaktool, is de mogelijkheid om SQL-scripts en scripts in mappen in batches op te maken.
In situaties waarin er op de machine veel SQL-scripts zijn waarvan de code moet worden gecontroleerd en die code behoorlijk in de war is, zoals in de onderstaande afbeelding:
Het controleren van code in deze SQL-scripts kan een uitdaging zijn.
Een oplossing hiervoor is om het SQL-script te openen in SSMS en formatteer het met het profiel van uw voorkeur door op de knop SQL formatteren te klikken:
Dit lost een probleem op voor één SQL-script, maar voor meer van deze SQL-scripts, moet een snellere oplossing worden geboden.
ApexSQL Refactor biedt de functie voor het opmaken van SQL-scripts als een oplossing voor dit soort problemen. Selecteer in het menu ApexSQL Refactor onder het submenu Andere opmaak de opdracht SQL-scripts opmaken:
De SQL-opmaak scripts-venster wordt geopend, navigeer in de lijst en selecteer de SQL-scripts, kies het gewenste SQL-formatterprofiel onder de keuzelijst met invoervak Profiel en druk op de knop OK:
Alle code in de geselecteerde SQL-scripts wordt opgemaakt met de gewenste SQL-opmaakstijl, wat het herzien van SQL-scripts veel gemakkelijker maakt.
Hostintegratie
Nog een belangrijk item bij het kiezen van de juiste SQL-stylingtool is de directe integratie in hosttoepassingen die u normaal gebruikt voor SQL-codering zoals SSMS of Visual Studio.
Gelukkig ondersteunt ApexSQL Refactor de integratie vanaf SSMS 2012 en hoger en ondersteunt het de integratie in Visual Studio vanaf versie VS 2010 en hoger.
Dit betekent dat u krachtige SQL-formatteermogelijkheden kunt toevoegen en uw codeerproductiviteit kunt verbeteren zonder ooit ng de thuisbasis van uw favoriete editor
Naadloze hostintegratie en consistente gebruikerservaring
Integreren in een hosttoepassing is één ding. Naadloos integreren met een consistente eindgebruikerservaring is een andere. Veel invoegtoepassingen zijn slechte gasten, nemen veel menuruimte in beslag, bieden onsamenhangende kleuren en pictogrammen en zijn over het algemeen visueel “luid” en opdringerig. ApexSQL Refactor is een beleefde gast die naadloos in hostomgevingen past, bijna alsof het deel uitmaakte van de IDE zelf. Deze consistente gebruikerservaring omvat iconografie, visuele stijl en thema’s.
Met kleurenthema’s kan de gebruiker het visuele uiterlijk aanpassen aan uw voorkeuren en een goede tool van derden moet aan deze mogelijkheid voldoen. ApexSQL Refactor ondersteunt SSMS en visuele kleur thema’s, maar beter nog, zullen automatisch veranderen om zich aan te passen aan de thema-instellingen van de host.
Zie dit artikel voor meer informatie.
Visual Studio donker kleurenthema:
SSMS blauw kleurenthema:
Een opmerking , ApexSQL Refactor ondersteunt SSMS donkere kleurenthema:
Zelfs dat het kleurenthema nog niet officieel is; voor degenen die dat willen weten hoe je de d ark-kleurenthema in SSMS 17 is te vinden op de pagina Het donkere thema instellen in SQL Server management studio.
Verder worden alle pictogrammen die in opdrachten, dialoogvensters, sjablonen, enz. in ApexSQL Refactor verschijnen, overgenomen uit de Visual Studio Image Library. Sommige pictogrammen uit de bibliotheek zijn opnieuw ontworpen om intuïtiever, eenvoudiger en gemakkelijk te herkennen symbolen te zijn.
Meer is te vinden in de Visual Language Dictionary for Visual Studio voor iconografie, kleuren en andere visuele concepten die in ApexSQL tools / add-ins pagina.
Ondersteuning voor hoge DPI en 4K resolutie
ApexSQL Refactor ondersteunt hoge DPI en 4K resolutie, wat betekent dat wanneer de ApexSQL Refactor wordt uitgevoerd, windows (bijv. ) waarin u alle SQL-formatter-opties instelt en het scherm niet wazig wordt op uw 4K-monitor:
Opmerking: VS verwerkt 4K en hoge DPI zeer goed, maar SSMS werkt niet zo goed op 4K-monitoren. Voor het 4K en hoge DPI-probleem in SSMS 2016 en hoger is er een oplossing die te zien is op de pagina Hoe hoge DPI in SSMS (SQL Server Management Studio) in te schakelen – Tips, trucs en problemen.