Die wichtigsten Dinge, die Sie in einem SQL-Formatierungswerkzeug benötigen

Inhaltsverzeichnis

  • T SQL-Formatoptionen
  • Auswirkungsvorschau
  • SQL-Formatierungsprofile
  • Importieren / Exportieren von SQL-Formatierungsprofilen
  • Formatieren eines Objekts in einem Stapel
  • Formatieren von T-SQL-Skripten in einem Stapel
  • Host-Integration
  • Unterstützung für hohe DPI- und 4K-Auflösung

Niemand überprüft und liest gerne eine Menge unordentlichen, unformatierten Text. Wenn es darum geht, einen komplexen SQL-Code zu lesen, kann dieses Problem noch schwieriger werden, insbesondere wenn Sie derjenige sind, der ihn entwirren muss.

SQL-Code kann mit einem Stil formatiert werden, der das Lesen erleichtert vor allem, wenn das gesamte Team das gleiche verwendet. Sauberer, gut formatierter (konsistenter) SQL-Code kann viel schneller gelesen werden als inkonsistent geschriebener SQL-Code, unabhängig davon, ob die Inkonsistenz zwischen Teammitgliedern und verschiedenen Objekten oder sogar innerhalb desselben Skripts des Objekts selbst besteht. Gut organisierter und formatierter SQL-Code kann effizienter überprüft werden. Die Übergabe eines Projekts an ein anderes Team oder einen Client mit gut formatiertem SQL-Code ist viel reibungsloser und wird viel mehr geschätzt.

Das Hauptproblem bei der Formatierung von SQL-Skripten besteht darin, dass es keinen Stil oder keine Standards für die SQL gibt Code sollte formatiert sein und alles ist im Allgemeinen eine Frage der Präferenz. Die beste Lösung besteht darin, die Standards festzulegen, an die Sie und Ihr Team im Unternehmen festhalten, und dann sicherzustellen, dass sie konsistent angewendet werden.

Der gesamte SQL-Code kann manuell formatiert werden, was sehr zeitaufwändig ist Es gibt jedoch Tools von Drittanbietern, mit denen schnell und effizient formatiert werden kann.

In diesem Artikel werden einige grundlegende Richtlinien und Erwartungen für ein perfektes SQL-Abfrageformatierungs-Tool beschrieben und vorgestellt, um Ihr Ziel zu erreichen um einen konsistenten und standardmäßigen Formatstil (Standard) festzulegen und diesen Stil mit einem Klick auf ein T-SQL-Skript oder viele T-SQL-Skripte oder -Objekte anzuwenden.

Ein solches Formatierungswerkzeug ist ApexSQL Refactor, Add-In, das in SQL Server Management Studio (SSMS) oder Visual Studio (VS) integriert werden kann. ApexSQL Refactor verfügt über mehr als 200 Optionen und Funktionen zum Formatieren von SQL-Abfragen zum gleichzeitigen Anwenden eines Stils auf ein oder mehrere T-SQL-Skripts.

Optionen

Das erste Ziel besteht darin, grundlegende Optionen festzulegen. Eines der Hauptprobleme bei der Festlegung von Standards ist, welche T-SQL-Schlüsselwörter im Code großgeschrieben werden sollen oder nicht.

Auf der Registerkarte Großschreibung des Optionsfensters können Großschreibungsregeln für das festgelegt werden Folgendes:

Um die entsprechende Großschreibungsregel festzulegen, können die folgenden Optionen verwendet werden: UPPER CASE, Kleinbuchstaben, LowerCamelCase, UpperCamelCase , Richtige Groß- oder Kleinschreibung oder Beibehalten der Standardregeln für das SQL-Abfragelayout durch Deaktivieren der Option:

Einige Entwickler bevorzugen SQL-Schlüsselwörter und Datentypen usw., um in GROSSBUCHSTABEN zu sein, und andere Entwickler möchten jedoch, dass die SQL-Schlüsselwörter in Kleinbuchstaben geschrieben werden.

Die beste Lösung bei der Auswahl eines Tools ist die Auswahl eines Tools, das all diese unterschiedlichen Einstellungen verarbeiten kann.

Im ersten Beispiel werden Schlüsselwörter in Großbuchstaben und Datentypen in Kleinbuchstaben geschrieben:

In der Im zweiten Beispiel sind Schlüsselwörter Kleinbuchstaben und da ta-Typen sind Großbuchstaben:

Das dritte Beispiel, Schlüsselwörter und Datentypen, sind Großbuchstaben:

SQL-Formatierer Auswirkungsvorschau

Eines der wichtigsten Dinge, die jedes SQL-Layout-Tool haben sollte, ist die visuelle Vorschau Wie der SQL-Code nach dem Hinzufügen einiger Optionen aussieht.

ApexSQL Refactor verfügt über eine Vorschau der Auswirkungen auf das SQL-Codeformat, die einen klaren Einblick und eine Ansicht der Auswirkungen von Optionsänderungen bietet, sobald Sie diese vornehmen. Wenn Ihnen das Aussehen nicht gefällt, können Sie es ohne Änderungen leicht ändern und zurücksetzen:

Festlegen der Regeln für die Großschreibung von SQL-Schlüsselwörtern, Datentypen, Bezeichnern (Objektnamen), Systemfunktionen und Variablen ist nur ein Element im Satz des Stils.

SQL-Code-Layoutregeln für Aliase, Kommentare, Kommas, Abstände, Ausrichtung, usw. muss ebenfalls festgelegt werden, um einen guten, konsistenten, lesbaren und gut formatierten SQL-Code zu erhalten.

Für alle oben genannten Dinge muss ein Formatierungswerkzeug Optionen zum Einstellen dieser Optionen haben Stilregeln für SQL-Abfragen.

ApexSQL Refactor bietet all diese Optionen, um Ihre Anforderungen zu erfüllen.Weitere Informationen zu Optionen für die SQL-Formatierung finden Sie unter den folgenden Links:

  • Regeln für die SQL-Formatierung – Kommas und Abstände in T-SQL
  • Regeln für die SQL-Formatierung – Regelmäßig und begrenzt T-SQL-Bezeichner
  • Regeln für die SQL-Formatierung – Kommentieren von SQL-Code
  • Regeln für die SQL-Formatierung – SQL-Namenskonventionen und Großschreibungsregeln
  • Regeln für die SQL-Formatierung – Beenden SQL-Anweisungen mit Semikolons

SQL-Abfrageformatiererprofile

Die Möglichkeit, einen gewünschten Stil festzulegen, diesen Stil zu speichern und den Stil mit Kollegen zu teilen, ist eine weitere Aufgabe jedes SQL Servers Formatierer-Tool muss haben. Eine voreingestellte Auswahl vorkonfigurierter Profile ist sofort einsatzbereit.

Mit ApexSQL Refactor können Benutzer:

  • bevorzugt speichern SQL-Abfrageformatierungsoptionen für eine wiederverwendbare Profilgruppe
  • und Kategorisieren von Formatierungsstilen
  • Ändern Sie vorhandene Profile schnell
  • und vermeiden Sie Konflikte mit anderen Benutzern

Darüber hinaus verfügt ApexSQL Refactor über vier integrierte Profile.

  • ApexSQL – enthält einen guten SQL-Formatierungsstandard
  • Compact – setzt Einrückungsoptionen Bei einem Leerzeichen von 0 (Null) werden alle zusätzlichen Leerzeichen deaktiviert und leere Zeilen für eine Abfrage entfernt, bei der der SQL-Code dicht aussieht.
  • Erweitert – steht dem Kompaktprofil gegenüber. Dieses Profil fügt vor / nach jeder Anweisung Leerzeichen und Kommentare hinzu. Fügen Sie Platz um arithmetische, logische Operatoren hinzu.
  • MSDN SQL BOL – Imitiert den auf der MSDN-Ressourcensite verwendeten Stil.

Diese vier integrierten Profile können in keiner Weise geändert werden Eine Kopie dieser integrierten SQL-Abfrageformatiererprofile kann jedoch durch Klicken auf die Schaltfläche Kopieren erstellt und dann auf die bevorzugte Weise geändert werden:

Sie können auch ein neues SQL-Formatierungsprofil erstellen, indem Sie auf die Schaltfläche Neu klicken:

Importieren / Exportieren von SQL-Formatprofilen

Sobald Sie das perfekte Profil erstellt haben, ist es wichtig, es exportieren zu können, um es anderen zugänglich zu machen. sowie damit die Empfänger des Profils es einfach importieren können. ApexSQL Refactor bietet genau diese Funktionalität.

Um Profile zu exportieren und mit Kollegen zu teilen, klicken Sie im Fenster Optionen auf die Schaltfläche Exportieren:

Um Profile im Fenster Optionen zu importieren, klicken Sie auf die Schaltfläche Importieren.

Weitere Informationen zu ApexSQL Refactor-Profilen finden Sie auf der Seite Anpassen von SQL-Formatierungsprofilen.

Verarbeiten von Objekten in einem Stapel

Sobald das Formatierungsprofil erstellt und die Optionen festgelegt wurden, kann die Formatierung von SQL-Code ernsthaft mit jeweils einem Objekt oder Skript beginnen. Aber was ist mit der gleichzeitigen Verarbeitung aller Daten in einer Datenbank?

Die individuelle Verarbeitung vieler SQL-Objekte wie gespeicherter Prozeduren kann natürlich eine sehr schwierige und zeitaufwändige Aufgabe sein.

Also Eine weitere Sache, die wir hinzufügen können, ist, dass jedes Formatierungswerkzeug über eine Funktion verfügen sollte, mit der mehrere SQL-Objekte mit einem einzigen gewünschten SQL-Profil gleichzeitig formatiert werden können.

ApexSQL Refactor verfügt über die Funktion zum Formatieren von SQL-Objekten, die genau dies ermöglicht Das. Wählen Sie im Objekt-Explorer eine Datenbank aus, in der sich die Objekte befinden, die formatiert werden sollen, klicken Sie mit der rechten Maustaste und wählen Sie im Kontextmenü den Befehl SQL-Objekte formatieren:

Alle skriptbasierten Objekte, z In der Ansicht werden gespeicherte Prozeduren im Fenster „SQL-Objekte formatieren“ aufgelistet:

Wählen Sie im Kombinationsfeld Profil das gewünschte SQL aus Formatierungsprofil (z. B. ApexSQL) und wählen Sie aus der Liste die SQL-Objekte aus, die formatiert werden sollen. Klicken Sie auf die Schaltfläche Skript erstellen, um ein Skript im Abfrageeditor zu öffnen, und klicken Sie dann auf die Schaltfläche Ausführen (F5):

Um zu bestätigen, dass SQL-Objekte mit dem gewünschten Profil formatiert sind, kehren Sie zum Fenster SQL-Objekte formatieren zurück und wählen Sie im Kombinationsfeld Profil die Option a aus Profil und in der Liste der SQL-Objekte werden in der Spalte OK mit dem grünen Häkchensymbol formatierte SQL-Objekte angezeigt. Alle anderen SQL-Objekte werden mit dem roten Symbol x gekennzeichnet, das angibt, dass sie nicht mit dem ausgewählten Profil formatiert sind :

Vor dem Formatieren eines SQL-Objektskripts mit dem gewünschten Profil können dem Benutzer dieselben SQL-Skripts angezeigt werden kann se e wie es aussehen wird, nachdem es verarbeitet wurde. Auf diese Weise kann es verglichen werden, indem Sie ein gewünschtes SQL-Objekt aus der Liste auswählen, mit der rechten Maustaste klicken und auf die Schaltfläche Vergleichen klicken:

Stapelskripte T-SQL-Format

Eine weitere Sache, die bei der Auswahl des richtigen SQL-Layout-Tools berücksichtigt werden muss, ist die Möglichkeit, SQL-Skripte und -Skripte in Ordnern in Stapeln zu formatieren.

In Situationen, in denen auf dem Computer viele SQL-Skripte vorhanden sind, muss der Code überprüft werden, und dieser Code ist ziemlich durcheinander, wie im folgenden Bild dargestellt:

Das Überprüfen des Codes in diesen SQL-Skripten kann eine Herausforderung sein.

Eine Lösung hierfür besteht darin, das SQL-Skript in SSMS und zu öffnen Formatieren Sie es mit Ihrem bevorzugten Profil, indem Sie auf die Schaltfläche SQL formatieren klicken:

Dies löst ein Problem für ein SQL-Skript, jedoch für Für mehr dieser SQL-Skripte muss eine schnellere Lösung bereitgestellt werden.

ApexSQL Refactor bietet die Funktion zum Formatieren von SQL-Skripten als Lösung für diese Art von Problem. Wählen Sie im ApexSQL Refactor-Menü im Untermenü Andere Formatierung den Befehl Format SQL-Skripte aus:

Das Format SQL Das Fenster „Skripte“ wird geöffnet. Navigieren Sie in der Liste, wählen Sie die SQL-Skripte aus, wählen Sie das gewünschte SQL-Formatierungsprofil im Kombinationsfeld „Profil“ aus und klicken Sie auf die Schaltfläche „OK“:

Der gesamte Code in den ausgewählten SQL-Skripten wird mit dem gewünschten SQL-Formatierungsstil formatiert, was die Überprüfung von SQL-Skripten erheblich erleichtert.

Host-Integration

Ein weiterer wichtiger Punkt Ein Element bei der Auswahl des richtigen SQL-Styling-Tools ist die direkte Integration in Hostanwendungen, die Sie normalerweise für SQL-Codierung wie SSMS oder Visual Studio verwenden.

Glücklicherweise unterstützt ApexSQL Refactor die Integration ab SSMS 2012 und höher und die Integration in Visual Studio ab VS 2010-Version.

Dies bedeutet, dass Sie leistungsstarke SQL-Formatierungsfunktionen hinzufügen und die Codierungsproduktivität verbessern können, ohne jemals zu verlieren Die Heimat Ihres Lieblingseditors

Nahtlose Host-Integration und konsistente Benutzererfahrung

Die Integration in eine Host-Anwendung ist eine Sache. Eine weitere Möglichkeit ist die nahtlose Integration in eine konsistente Endbenutzererfahrung. Viele Add-Ins sind schlechte Gäste, belasten den Menübereich, bieten unzusammenhängende Farben und Symbole und sind im Allgemeinen visuell „laut“ und aufdringlich. ApexSQL Refactor ist ein höflicher Gast, der sich nahtlos in Host-Umgebungen einfügt, fast so, als wäre er Teil der IDE selbst. Diese konsistente Benutzererfahrung umfasst Ikonografie, visuellen Stil und Themen.

Mit Farbthemen kann der Benutzer das visuelle Erscheinungsbild an Ihre Vorlieben anpassen. Ein gutes Tool von Drittanbietern sollte dieser Funktion entsprechen. ApexSQL Refactor unterstützt SSMS und visuelle Farben Themen, aber noch besser, werden automatisch geändert, um sie an die Einstellungen der Host-Themen anzupassen.

Weitere Informationen finden Sie in diesem Artikel.

Visual Studio-Thema für dunkle Farben:

blaues SSMS-Farbthema:

Eine Notiz , ApexSQL Refactor unterstützt das dunkle SSMS-Farbthema:

Auch wenn das Farbthema noch nicht offiziell ist, für diejenigen, die es möchten wissen, wie man das d einrichtet Das Arche-Farbthema in SSMS 17 finden Sie auf der Seite Einrichten des dunklen Themas in SQL Server Management Studio.

Außerdem werden alle Symbole, die in Befehlen, Dialogfeldern, Vorlagen usw. in ApexSQL Refactor angezeigt werden, vererbt aus der Visual Studio-Bildbibliothek. Einige der Symbole aus der Bibliothek wurden so gestaltet, dass sie intuitiver, einfacher und leicht zu erkennen sind.

Weitere Informationen zu Ikonografie, Farben und anderen visuellen Konzepten finden Sie im Visual Language Dictionary für Visual Studio Seite mit ApexSQL-Tools / Add-Ins.

Unterstützung für hohe DPI- und 4K-Auflösung

ApexSQL Refactor unterstützt hohe DPI- und 4K-Auflösung, dh wenn der ApexSQL Refactor ausgeführt wird, Fenster (z. B. Fenster „Optionen“) ), in dem Sie alle SQL-Formatierungsoptionen festlegen und der Bildschirm auf Ihrem 4K-Monitor nicht unscharf wird:

Hinweis: VS handhabt 4K und hohe DPI sehr gut, aber SSMS funktioniert auf 4K-Monitoren nicht so gut. Für das 4K- und High-DPI-Problem in SSMS 2016 und höher finden Sie eine Lösung auf der Seite Tipps, Tricks und Probleme zum Aktivieren von High-DPI in SSMS (SQL Server Management Studio).

Siehe auch:

Write a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.