Samstag, 11. Mai 2013

T-SQL Code übersichtlich formatieren

Der T-SQL Editor in SQL Server Management Studio (SSMS) ist von Version zu Version immer besser geworden. Dank IntelliSense ist das Schreiben von Objektnamen (Tabellen, Spalten, etc.) schnell und fehlerfrei möglich. Aber wenn es darum geht, wann ein Zeilenumbruch erfolgt, ob Kommas am Anfang oder am Ende einer Zeile stehen und wie weit ein Ausdruck einzurücken ist, endet die Unterstützung. Je länger die SQL Statements, desto aufwändiger gestaltet sich die Formatierung.

Tools unterstützen beim Formatieren


Zum Glück erlaubt SSMS das Einbinden von Erweiterungen. Was den Funktionsumfang und die Qualität betrifft, ist hier wahrscheinlich SQL Prompt von redgate an erster Stelle zu nennen. Entwickler, die das SQL Developer Bundle nutzen, finden SQL Prompt darin bereits vor. Einziger Nachteil: Die Kosten in Höhe von ca. 300 Euro für die Professional Version von SQL Prompt.

Mein Favorit unter den kostenfreien Tools


Jedoch gibt es auch kostenfreie Tools. Einige habe ich kurz ausprobiert und dabei schnell meinen Favoriten gefunden. Es handelt sich dabei um ein Open Source Projekt von Tao Klerks mit dem auffälligen Namen Poor Man's T-SQL Formatter. Die MSI-Datei ist schnell heruntergeladen und installiert. Danach erweitert sich das Menü in SSMS um zwei neue Funktionen unter "Tools":
  • Format T-SQL Code
  • T-SQL Formatting Options ...
Die neuen Funktionen, die das Formatierungswerkzeug SSMS hinzufügt
Die Verwendung ist so einfach, wie es den Anschein hat: wenn Sie "Format T-SQL Code" anklicken, wird der markierte T-SQL Code formatiert. Falls Sie nichts markiert haben, wird der gesamte T-SQL Code im Abfragefenster formatiert.

Egal, wie Sie den Code eingegeben haben: nach Aufruf von "Format T-SQL Code" sieht er sofort gut aus.
Da jeder Programmierer eigene Vorstellungen davon hat, was die richtige Formatierung ist (bzw. da unterschiedliche Unternehmen unterschiedliche Vorgaben machen), lässt sich die Formatierung mit der Funktion "T-SQL Formatting Options ..." steuern.

Die Einstellungen zum Formatieren

Alles in allem ein sehr hilfreiches und darüber hinaus kostenfreies Tool! Lediglich ein kleines Problem musste ich lösen: Die Tastenkombination [Ctrl]+[K] [F] soll das Formatieren starten. Mit der voreingestellten Einstellung funktionierte diese Tastenkombination jedoch nicht in meiner Umgebung. Ich musste die Einstellung "SSMS HotKey" folgendermaßen ändern:
Text Editor::ctrl+k, ctrl+f

T-SQL Formatierung in Notepad++

Gehören Sie auch zu den Nutzern des ebenfalls kostenfrei verfügbaren Texteditors Notepad++? Dann können Sie den Poor Man's T-SQL Formatter dort ebenfalls verwenden. Hierzu wählen Sie einfach im Menü "Erweiterungen" - "Plugin Manager" das Plugin aus - fertig.

Weitere Links

Die Tools SQL Prompt und Poor Man's T-SQL Formatter habe ich nach subjektiven Kriterien herausgegriffen. Wenn Sie an einer Übersicht der verfügbaren Tools interessiert sind, finden Sie diese auch bei Tao Klerks: Übersicht der Formatierungs-Tools