web-dev-qa-db-ja.com

SQLサーバー#region

sQLサーバーエディターで領域を作成できますか(C#の#region#endregionなど)?

145
Rauf

そうでもない、ごめんなさい!しかし...

beginend ..にコメントを付けてbeginを追加すると、次のような領域が作成されます...ちょっとしたハック!

screenshot of begin end region code

それ以外の場合は、展開と折りたたみのみが可能で、展開と折りたたみの対象を指示することはできません。 SSMS Tools Pack などのサードパーティツールがないわけではありません。

240
Dog Ears

(私は SSMSBoost SSMSのアドインの開発者です)

最近、SSMSBoostアドインにこの構文のサポートを追加しました。

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

また、スクリプトを開くときに自動的に領域を「認識する」オプションもあります。

10

BEGIN ... ENDは機能します。コメントセクションを追加するだけです。これを行う最も簡単な方法は、セクション名を追加することです!別の方法は、コメントブロックを追加することです。下記参照:

BEGIN  -- Section Name
/* 
Comment block some stuff  --end comment should be on next line
*/

 --Very long query
SELECT * FROM FOO
SELECT * FROM BAR
END
8
BClaydon

Sql Server Management Studioですぐに使用できるわけではありませんが、非常に優れた SSMS Tools Pack機能 です

6
Pero P.

クエリエディターでテキストのインデントを使用するだけです。

拡張ビュー:

Expanded

折りたたみビュー:

Collapsed

4

McVitieに似た手法を使用しましたが、かなり長いストアドプロシージャまたはスクリプトでのみ使用しました。このような特定の機能部分を分解します。

BEGIN /** delete queries **/

DELETE FROM blah_blah

END /** delete queries **/

BEGIN /** update queries **/

UPDATE sometable SET something = 1

END /** update queries **/

この方法は、管理スタジオでかなりナイスに表示され、コードのレビューに非常に役立ちます。折りたたまれた部分は次のようなものです。

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

BEGINがこの方法でENDと一致することを知っているので、実際にこの方法を好みます。

2
andylize

別のオプションは

クエリの分析が目的の場合、Notepad +にはSqlの便利な自動ラッパーがあります。

1
Tekin Güllü

いいえ、T-SQL言語には#regionは存在しません。

Begin-endブロックを使用してコード折りたたみを取得できます。

-私の地域
 begin 
-コードはここに行きます
 end 

ただし、コードを他の方法でリファクタリングできない場合を除き、これを使用することをお勧めしません

0
Matt