SQL Server #region

163

Kann ich Regionen im SQL Server-Editor (wie #regionund #endregionin C #) erstellen ?

Rauf
quelle

Antworten:

272

Nicht wirklich, Entschuldigung! Aber...

Hinzufügen beginund end.. mit einem Kommentar zu den beginerstellten Regionen, die so aussehen würden ... ein bisschen Hack!

Screenshot des Regionalcodes für Anfang und Ende

Andernfalls können Sie nur erweitern und reduzieren. Sie können einfach nicht vorschreiben, was erweitert und reduziert werden soll. Nicht ohne ein Tool eines Drittanbieters wie SSMS Tools Pack .

Hundeohren
quelle
4
Stellen Sie sicher, dass Sie die Gliederungsanweisung unter
Texteditor
2
technet.microsoft.com/en-us/library/aa225998(v=sql.80).aspx . Obwohl alle Transact-SQL-Anweisungen innerhalb eines BEGIN ... END-Blocks gültig sind, sollten bestimmte Transact-SQL-Anweisungen nicht innerhalb desselben Stapels (Anweisungsblock) zusammengefasst werden. Kann mir jemand sagen, warum sie nicht gruppiert werden sollten?
Jacob Phan
1
Nützlicher Hack, aber vergessen Sie nicht, gonach der endAnweisung hinzuzufügen , wenn Sie mehrere Regionen / Abschnitte erstellen möchten.
März West
brillant! Danke
Stubs
Fein! Wenn Sie nur einen Kommentarblock haben. Sie müssen etwas hinzufügen, das keinen Kommentar enthält. zum Beispiel: print
Inon
12

(Ich bin Entwickler des SSMSBoost- Add-Ins für SSMS)

Wir haben kürzlich Unterstützung für diese Syntax in unser SSMSBoost-Add-In aufgenommen.

--#region [Optional Name]
--#endregion

Es besteht auch die Möglichkeit, Regionen beim Öffnen von Skripten automatisch zu "erkennen".

Andrei Rantsevich
quelle
2
Es ist in Ordnung, funktioniert aber nicht im laufenden Betrieb. Ich muss die Datei schließen und erneut öffnen, um neu erstellte Regionen zu reduzieren.
Martin Capodici
4
Es gibt eine Option "Regionen analysieren", die im Menü SSMSBoost in der Symbolleiste verfügbar ist. Sie müssen die Datei also nicht erneut öffnen.
Andrei Rantsevich
Leider hat dies einen Fehler. Wenn die ersten Code-Anweisungen innerhalb der Region auskommentiert werden, endet die Region in der zuletzt auskommentierten Codezeile
Jeff
9

BEGIN ... END funktioniert, Sie müssen nur einen kommentierten Abschnitt hinzufügen. Der einfachste Weg, dies zu tun, besteht darin, einen Abschnittsnamen hinzuzufügen! Eine andere Möglichkeit besteht darin, einen Kommentarblock hinzuzufügen. Siehe unten:

BEGIN  -- Section Name
/* 
Comment block some stuff  --end comment should be on next line
*/

 --Very long query
SELECT * FROM FOO
SELECT * FROM BAR
END
BClaydon
quelle
6

In Sql Server Management Studio nicht sofort einsatzbereit, aber eine Funktion des sehr guten SSMS Tools Pack

Pero P.
quelle
7
Vorsichtsmaßnahme: Die 60-Tage-Demo kostet 30 €.
Martin Capodici
2
Als dies ursprünglich gepostet wurde, war die Erweiterung kostenlos
Pero P.
4

Es ist nur eine Frage der Verwendung von Texteinrückungen im Abfrageeditor.

Erweiterte Ansicht:

Erweitert

Reduzierte Ansicht:

Zusammengebrochen

Bharath Theorare
quelle
3

Nein, #region ist in der T-SQL-Sprache nicht vorhanden.

Sie können Code-Faltung mit Anfang-Ende-Blöcken erhalten:

-- meine Gegend
Start
    - Code geht hier
Ende

Ich bin mir nicht sicher, ob ich empfehlen würde, sie dafür zu verwenden, es sei denn, der Code kann auf andere Weise nicht akzeptabel überarbeitet werden!

Matt
quelle
2

Ich habe eine ähnliche Technik wie McVitie verwendet und nur in gespeicherten Prozeduren oder Skripten, die ziemlich lang sind. Ich werde bestimmte funktionale Teile wie folgt aufschlüsseln:

BEGIN /** delete queries **/

DELETE FROM blah_blah

END /** delete queries **/

BEGIN /** update queries **/

UPDATE sometable SET something = 1

END /** update queries **/

Diese Methode zeigt sich im Management Studio recht gut und ist sehr hilfreich beim Überprüfen von Code. Das zusammengeklappte Stück sieht ungefähr so ​​aus:

BEGIN /** delete queries **/ ... /** delete queries **/

Ich bevorzuge es eigentlich so, weil ich weiß, dass meine BEGINÜbereinstimmungen ENDso sind.

andylisieren
quelle
1

Eine andere Option ist

Wenn Sie Ihre Abfrage analysieren möchten, verfügt Notepad + über einen nützlichen automatischen Wrapper für SQL.

Tekin Güllü
quelle
Das hilft mir wirklich. Vielen Dank
Theotonio