sql server #region

163

я могу создать регионы в редакторе сервера SQL (как #regionи #endregionв C #)?

Рауф
источник

Ответы:

272

Не совсем, прости! Но...

Добавление beginи end... с комментарием о создании beginрегионов, которые выглядят так ... хотя бы немного!

снимок экрана с кодом начала и конца региона

В противном случае вы можете только разворачиваться и разворачиваться, вы просто не можете диктовать, что следует разворачивать и сворачивать. Не без стороннего инструмента, такого как SSMS Tools Pack .

Уши собаки
источник
4
Убедитесь, что у вас есть Outline Statement, включенный в текстовом редакторе> Transact-SQL> Intellisense> Включить Intellisense
GatesReign
2
technet.microsoft.com/en-us/library/aa225998(v=sql.80).aspx . Хотя все операторы Transact-SQL допустимы в блоке BEGIN ... END, некоторые операторы Transact-SQL не следует группировать в одном пакете (блоке операторов). Может ли кто-нибудь сказать мне, почему они не должны быть сгруппированы?
Джейкоб Фан
1
Полезный хак, но не забудьте добавить goпосле endоператора, если вы хотите создать несколько регионов / разделов.
марта 18
блестящий! Спасибо
заглушки
Отлично! Если у вас есть только блок комментариев. Вы должны добавить что-то без комментариев внутри. например: печать
Inon
12

(Я разработчик надстройки SSMSBoost для SSMS)

Недавно мы добавили поддержку этого синтаксиса в нашу надстройку SSMSBoost.

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

Он также имеет возможность автоматически «распознавать» регионы при открытии скриптов.

Андрей Ранцевич
источник
2
Это нормально, но не работает на лету. Я должен закрыть и снова открыть файл, чтобы свернуть вновь созданные регионы.
Мартин Каподичи
4
В панели инструментов SSMSBoost есть опция «повторная обработка регионов». Таким образом, нет необходимости повторно открывать файл.
Андрей Ранцевич
К сожалению, в этом есть ошибка. Если первые операторы кода в пределах региона закомментированы, то регион заканчивался в конце закомментированной строкой кода
Джефф
9

НАЧАЛО ... КОНЕЦ работает, вам просто нужно добавить закомментированный раздел. Самый простой способ сделать это - добавить название раздела! Другой способ - добавить блок комментариев. Увидеть ниже:

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

 --Very long query
SELECT * FROM FOO
SELECT * FROM BAR
END
BClaydon
источник
6

Не из коробки в Sql Server Management Studio, но это особенность очень хорошего пакета инструментов SSMS

Перо П.
источник
7
Предостережение: стоит 30 евро с 60-дневной демонстрацией.
Мартин Каподичи
2
Когда это было первоначально объявлено, расширение было бесплатным
Pero P.
4

Это просто вопрос использования отступов текста в редакторе запросов.

Расширенный вид:

расширенный

Свернутый вид:

рухнул

Bharath theorare
источник
3

Нет, #region не существует в языке T-SQL.

Вы можете получить свертывание кода, используя блоки begin-end:

-- мой район
начать
    - код идет сюда
конец

Я не уверен, что рекомендую использовать их для этого, если только код не может быть приемлемо реорганизован другими способами!

Matt
источник
2

Я использовал технику, похожую на 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этим способом.

andylize
источник
1

Другой вариант

Если ваша цель - проанализировать ваш запрос, Notepad + имеет полезную автоматическую упаковку для Sql.

Текин Гюллю
источник
Это действительно поможет мне. Спасибо
Теотонио