SQLサーバー#region


163

私は(のようなSQL Serverのエディタに領域を作成することができます#regionし、#endregionC#で)?

回答:


272

すみません、ごめんなさい!だが...

追加beginend.. begin作成領域に関するコメントを付けて、このように見える領域を作成します。

開始と終了の地域コードのスクリーンショット

それ以外の場合は、展開と折りたたみのみが可能で、展開と折りたたみの対象を指定することはできません。SSMSツールパックなどのサードパーティツールが必要です。


4
テキストエディター> Transact-SQL> Intellisense> Intellisenseを有効にする
ゲートレジの2015

2
technet.microsoft.com/en-us/library/aa225998(v=sql.80).aspx。すべてのTransact-SQLステートメントはBEGIN ... ENDブロック内で有効ですが、特定のTransact-SQLステートメントを同じバッチ(ステートメントブロック)内でグループ化しないでください。なぜグループ化すべきではないのか、誰か教えてもらえますか?
Jacob Phan、2016年

1
便利なハックですが、複数のリージョン/セクションを作成する場合はgoendステートメントの後に追加することを忘れないでください。
marchWest 2018

鮮やかさ!おかげで
スタブ

いいね!コメントブロックのみの場合。コメントなしで何かを追加する必要があります。例えば:印刷
イノン

12

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

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

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

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


2
それは大丈夫ですが、その場で動作しません。新しく作成したリージョンを折りたたむには、ファイルを閉じて再度開く必要があります。
Martin Capodici、2016

4
ツールバーのSSMSBoostメニューで利用可能な「再解析領域」オプションがあります。したがって、ファイルを再度開く必要はありません。
Andrei Rantsevich 2016

残念ながら、これにはバグがあります。リージョン内の最初のコードステートメントがコメントアウトされた場合、リージョンは最後にコメントアウトされたコード行をコメントアウト
Jeff

9

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


4

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

拡張ビュー:

拡張

折りたたみビュー:

崩壊


3

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

begin-endブロックを使用してコードを折りたたむことができます。

-私の地域
ベギン
    -コードがここに入ります
終わり

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


2

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

BEGIN /** delete queries **/

DELETE FROM blah_blah

END /** delete queries **/

BEGIN /** update queries **/

UPDATE sometable SET something = 1

END /** update queries **/

この方法はManagement Studioでかなり見栄えがよく、コードのレビューに非常に役立ちます。折りたたまれた部分は次のようになります。

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

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


1

別のオプションは

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


これは本当に私を助けます。ありがとう
Theotonio
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.