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.