Notepad++ plugin
Auswahlbewusstes Formatieren
Eine Taste, zwei Verhaltensweisen: Mit einer Auswahl formatiert das Plugin genau diesen Text — nicht mehr. Ohne Auswahl nimmt es das gesamte Dokument. Dieser Unterschied ist bewusst eingebaut, damit ein 300-zeiliges Skript nie versehentlich komplett neu geschrieben wird, wenn Sie nur diese eine unordentliche Unterabfrage bereinigen wollten.

Eine Unterabfrage in einem großen Skript bereinigen
Wählen Sie nur die SELECT-Anweisung aus, die Sie bearbeiten möchten — innerhalb einer Stored Procedure, im Rumpf eines CTE oder zwischen zwei anderen Abfragen in derselben Datei — und drücken Sie die Tastenkombination. Das Plugin liest genau die Zeichen zwischen Anfang und Ende Ihrer Auswahl (Scintillas SCI_GETSELECTIONSTART/END), formatiert diesen Teilstring und fügt das Ergebnis exakt an dieser Stelle wieder ein. Der Rest der Datei, einschließlich jeder Syntax, die der Formatter nicht versteht, bleibt Byte für Byte unverändert.
Vorher
EXEC sp_executesql N' BEGIN select order_id, sum(amount) total, status from orders where status=''active'' group by order_id, status; END'
Nachher
EXEC sp_executesql N'
BEGIN
select order_id
, sum(amount) as total
, status
from orders
where status = ''active''
group by order_id
, status;
END'Keine Auswahl? Das gesamte Dokument.
Klicken Sie einfach irgendwo im Editor, ohne Text auszuwählen, und drücken Sie die Tastenkombination: Die gesamte Datei wird dann als Ganzes formatiert, Anweisung für Anweisung. Das ist der schnellste Weg, wenn Sie eine ganze .sql-Datei auf einmal bereinigen möchten.
Vorher
select a.id,a.name,b.qty from items a join stock b on a.id=b.item_id where b.qty<10; select count(*) from items;
Nachher
select a.id
, a.name
, b.qty
from items a
join stock b
on a.id = b.item_id
where b.qty < 10;
select count(*)
from items;Häufig gestellte Fragen
Was, wenn meine Auswahl keine vollständige, gültige Abfrage ist?
Der Formatter versucht trotzdem, das Beste aus dem zu machen, was er bekommt — er stürzt nie ab und ändert niemals Text außerhalb der Auswahl. Bei einem Fragment wie nur einer WHERE-Klausel kann das Ergebnis etwas anders ausfallen als bei einer vollständigen SELECT-Anweisung. Für das beste Ergebnis wählen Sie daher möglichst eine vollständige Anweisung aus.
Funktioniert das auch ohne Tastenkombination, über das Menü?
Ja — Plugins → Datamodder SQL Formatter → Format SQL macht genau dasselbe wie die Tastenkombination, einschließlich der Berücksichtigung Ihrer aktuellen Auswahl.