sql server #region


163

sql server düzenleyicisi ( C # gibi #regionve #endregion) bölgeleri oluşturabilir miyim?

Yanıtlar:


272

Pek değil, üzgünüm! Fakat...

Ekleme beginve end.. beginböyle bir görünüm oluşturur bölgeleri hakkında bir yorum ile olsa kesmek biraz olsa!

başlangıç ​​bitiş bölge kodunun ekran görüntüsü

Aksi takdirde, sadece genişleyebilir ve daraltabilirsiniz, neyin genişletilmesi ve daraltılması gerektiğini dikte edemezsiniz. SSMS Tools Pack gibi bir üçüncü taraf aracı olmadan değil .


4
Metin Düzenleyicisi> Transact-SQL> Intellisense> Intellisense'yi Etkinleştir altında ana
hatlar deyiminin

2
technet.microsoft.com/en-us/library/aa225998(v=sql.80).aspx . Tüm Transact-SQL deyimleri bir BEGIN ... END bloğu içinde geçerli olsa da, bazı Transact-SQL deyimleri aynı toplu iş (deyim bloğu) içinde birlikte gruplandırılmamalıdır. Biri bana neden gruplandırılmamaları gerektiğini söyleyebilir mi?
Jacob Phan

1
Yararlı kesmek, ancak birden fazla bölge / bölüm oluşturmak istiyorsanız ifadeden gosonra eklemeyi unutmayın end.
marchWest

parlak! Teşekkürler
taslakları

İnce! Yalnızca yorum bloğunuz varsa. İçinde yorum olmayan bir şey eklemelisiniz. örneğin: print
inon

12

( SSMS için SSMSBoost eklentisinin geliştiricisiyim )

Kısa bir süre önce bu sözdizimi için SSMSBoost eklentimize destek ekledik.

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

Ayrıca komut dosyalarını açarken bölgeleri otomatik olarak "tanıma" seçeneği de vardır.


2
Tamam ama anında çalışmıyor. Yeni oluşturulan bölgeleri daraltmak için dosyayı kapatıp yeniden açmam gerekiyor.
Martin Capodici

4
Araç çubuğundaki SSMSBoost menüsünde bulunan bir "bölgeleri böl" seçeneği vardır. Yani, dosyayı yeniden açmanıza gerek yok.
Andrei Rantsevich

Ne yazık ki bunun bir hatası var. Bölgedeki ilk kod ifadeleri yorumlanırsa, bölge en son yorum yapılan kod satırıyla
Jeff

9

BEGIN ... END çalışıyor, sadece bir yorum bölümü eklemelisiniz. Bunu yapmanın en kolay yolu bir bölüm adı eklemektir! Başka bir yol yorum bloğu eklemektir. Aşağıya bakınız:

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

Bu sadece sorgu editöründe metin girintisi kullanma meselesidir.

Genişletilmiş Görünüm:

Expanded

Daraltılmış Görünüm:

çökmüş


3

Hayır, #region T-SQL dilinde mevcut değil.

Başlangıç-bitiş bloklarını kullanarak kod katlama alabilirsiniz:

- bölgem
başla
    - kod buraya geliyor
son

Kod kabul edilebilir olsa da başka yollarla refactored olamaz sürece bunları için kullanmanızı tavsiye ederim!


2

McVitie'ye benzer bir teknik kullandım ve sadece saklı yordamlarda veya komut dosyalarında oldukça uzun. Ben böyle bazı fonksiyonel bölümleri yıkmak olacak:

BEGIN /** delete queries **/

DELETE FROM blah_blah

END /** delete queries **/

BEGIN /** update queries **/

UPDATE sometable SET something = 1

END /** update queries **/

Bu yöntem yönetim stüdyosunda oldukça güzel görünür ve kodun incelenmesinde gerçekten yararlıdır. Daraltılmış parça şöyle görünür:

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

Aslında bu şekilde tercih ediyorum çünkü BEGINeşleşmelerimin bu şekilde olduğunu biliyorum END.


1

Başka bir seçenek

Amacınız sorgunuzu analiz etmekse, Notepad + Sql için yararlı otomatik sarıcıya sahiptir.


Bu gerçekten bana yardım ediyor. Teşekkür ederim
Theotonio
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.