serwer sql #region

163

czy mogę tworzyć regiony w edytorze serwera sql (jak #regioniw #endregionC #)?

Rauf
źródło

Odpowiedzi:

272

Nie bardzo, przepraszam! Ale...

Dodanie begini end... z komentarzem na temat begintworzenia regionów, które wyglądałyby tak ... trochę hackowania!

zrzut ekranu kodu regionu początkowego i końcowego

W przeciwnym razie możesz tylko rozwijać i zwijać, po prostu nie możesz dyktować, co powinno zostać rozwinięte, a co zwinięte. Nie bez narzędzia innej firmy, takiego jak pakiet narzędzi SSMS .

Uszy psa
źródło
4
Upewnij się, że masz włączoną instrukcję Outline w Edytorze tekstu> Transact-SQL> Intellisense> Włącz Intellisense
GatesReign
2
technet.microsoft.com/en-us/library/aa225998(v=sql.80).aspx . Chociaż wszystkie instrukcje języka Transact-SQL są prawidłowe w bloku BEGIN ... END, niektóre instrukcje języka Transact-SQL nie powinny być grupowane w tej samej partii (bloku instrukcji). Czy ktoś mógłby mi powiedzieć, dlaczego nie należy ich grupować?
Jacob Phan
1
Przydatny hack, ale nie zapomnij dodać gopo endinstrukcji, jeśli chcesz utworzyć wiele regionów / sekcji.
marchWest
znakomity! Dzięki
odcinki
W porządku! Jeśli masz tylko blok komentarzy. Musisz dodać coś bez komentarza w środku. na przykład: print
inon
12

(Jestem programistą dodatku SSMSBoost dla SSMS)

Niedawno dodaliśmy obsługę tej składni do naszego dodatku SSMSBoost.

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

Posiada również opcję automatycznego „rozpoznawania” regionów podczas otwierania skryptów.

Andrei Rantsevich
źródło
2
Jest OK, ale nie działa w locie. Muszę zamknąć i ponownie otworzyć plik, aby zwinąć nowo utworzone regiony.
Martin Capodici
4
Istnieje opcja „ponowna analiza regionów”, dostępna w menu SSMSBoost na pasku narzędzi. Nie ma więc potrzeby ponownego otwierania pliku.
Andrei Rantsevich
Niestety ma to błąd. Jeśli pierwsze instrukcje kodu w regionie są zakomentowane, region zakończył się jako ostatni zakomentowany wiersz kodu
Jeff
9

BEGIN ... END działa, wystarczy dodać skomentowaną sekcję. Najłatwiej to zrobić, dodając nazwę sekcji! Inną drogą jest dodanie bloku komentarzy. Zobacz poniżej:

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
źródło
6

Nie po wyjęciu z pudełka w Sql Server Management Studio, ale jest to funkcja bardzo dobrego pakietu narzędzi SSMS

Pero P.
źródło
7
Uwaga: kosztuje 30 € z 60-dniową wersją demonstracyjną.
Martin Capodici
2
Kiedy to zostało pierwotnie opublikowane, rozszerzenie było bezpłatne
Pero P.
4

To tylko kwestia użycia wcięć tekstu w edytorze zapytań.

Rozszerzony widok:

Rozszerzony

Widok zwinięty:

Upadł

Teoria Bharatu
źródło
3

Nie, #region nie istnieje w języku T-SQL.

Możesz uzyskać zwijanie kodu za pomocą bloków początku-końca:

- mój region
zaczynać
    - kod jest tutaj
koniec

Nie jestem pewien, czy poleciłbym ich do tego celu, chyba że kod nie może być w akceptowalny sposób zreformowany w inny sposób!

Matt
źródło
2

Użyłem techniki podobnej do McVitie i tylko w procedurach składowanych lub skryptach, które są dość długie. Podzielę niektóre funkcjonalne części w ten sposób:

BEGIN /** delete queries **/

DELETE FROM blah_blah

END /** delete queries **/

BEGIN /** update queries **/

UPDATE sometable SET something = 1

END /** update queries **/

Ta metoda wygląda całkiem nieźle w studiu zarządzania i jest bardzo pomocna przy przeglądaniu kodu. Zwinięty kawałek wygląda mniej więcej tak:

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

Właściwie wolę to w ten sposób, ponieważ wiem, że moje BEGINpasują w ENDten sposób.

andylize
źródło
1

Inną opcją jest

jeśli Twoim celem jest analiza zapytania, Notepad + ma przydatne automatyczne opakowanie dla Sql.

Tekin Güllü
źródło
To naprawdę mi pomogło. Dziękuję
Theotonio