serwer sql #region


163

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

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 .


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.


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


4

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

Rozszerzony widok:

Rozszerzony

Widok zwinięty:

Upadł


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!


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.


1

Inną opcją jest

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


To naprawdę mi pomogło. Dziękuję
Theotonio
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.