2010-12-08 5 views

Antwort

188

Nicht wirklich, Entschuldigung! Aber ...

Hinzufügen begin und end .. mit einem Kommentar auf der begin schafft Regionen, die wie folgt aussehen würde ... bisschen Hack aber!

alt text

Ansonsten können Sie nur auf- und zuklappen kann man einfach nicht diktieren, was erweitert werden soll und brach zusammen. nicht ohne ein Drittanbieter-Tool wie SSMS Tools Pack

+2

Stellen Sie sicher, Sie Gliederungs Statement unter Text Editor> Transact-SQL> Intellisense> Aktivieren Intellisense aktiviert haben – GatesReign

+2

https://technet.microsoft.com/en-us/library/a a225998 (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 gruppiert werden (Anweisungsblock). Kann mir jemand sagen, warum sie nicht gruppiert werden sollten? –

6

nicht aus der Box in SQL Server Management Studio, aber es ist ein feature des sehr gute SSMS Tools Pack

+0

Die immer noch '--' Kommentare verwendet, um SQL-Kompatibilität zu gewährleisten ... – Oded

+6

Vorbehalt: es kostet 30 € mit 60-Tage-Demo. –

+2

Als dies ursprünglich veröffentlicht wurde, war die Erweiterung frei –

0

Nein, #region existiert nicht in den T- SQL-Sprache

können Sie erhalten Code-Faltung mit beginnen-End-Blöcke:

 
-- my region 
begin 
    -- code goes here 
end 

Ich bin nicht sicher, würde ich sie dafür, wenn der Code empfehlen die Verwendung von nicht akzeptabler Weise obwohl mit anderen Mitteln Refactoring werden!

1

Ich habe eine Technik ähnlich McVitie verwendet, und nur in gespeicherten Prozeduren oder Skripten, die ziemlich lang sind. Ich werde brechen bestimmte Funktionsbereiche wie folgt aus:

BEGIN /** delete queries **/ 

DELETE FROM blah_blah 

END /** delete queries **/ 

BEGIN /** update queries **/ 

UPDATE sometable SET something = 1 

END /** update queries **/ 

Diese Methode recht schön in Management Studio zeigt nach oben und ist sehr hilfreich in Code zu überprüfen. Das zusammengelegte Stück sieht ein bisschen wie:

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

ich es auf diese Weise eigentlich lieber, weil ich weiß, dass meine BEGIN Begegnungen mit der END auf diese Weise.

6

BEGIN ... END funktioniert, Sie müssen nur einen kommentierten Abschnitt hinzufügen. Der einfachste Weg, dies zu tun, ist einen Abschnitt Namen hinzufügen! Eine andere Route 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 
7

(Ich bin Entwickler von SSMSBoost Add-In für SSMS)

Wir haben vor kurzem Unterstützung für diese Syntax in unsere SSMSBoost Add-in hinzugefügt.

Es hat auch eine Option zum automatischen "Erkennen" von Bereichen beim Öffnen von Skripten.

+0

Es ist in Ordnung, aber funktioniert nicht im laufenden Betrieb. Ich muss die Datei schließen und neu öffnen, um neu erstellte Regionen zu reduzieren. –

+0

Es gibt eine "Regionsanalyse" -Option, die im SSMSBoost-Menü auf der Symbolleiste verfügbar ist. Also, keine Notwendigkeit, die Datei erneut zu öffnen. –

+0

funktioniert es für Visual Studio nicht für T-SQL Kanguage – Parsa

1

Es ist nur eine Frage der Verwendung von Text im Abfrageeditor.

Erweiterte Ansicht:

Expanded

Collapsed Ausblick:

Collapsed