SQL Server #region


163

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

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 .


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".


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


4

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

Erweiterte Ansicht:

Erweitert

Reduzierte Ansicht:

Zusammengebrochen


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!


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.


1

Eine andere Option ist

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


Das hilft mir wirklich. Vielen Dank
Theotonio
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.