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


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 **/

Этот метод довольно привлекателен в студии управления и очень полезен при просмотре кода. Свернутый кусок выглядит примерно так:

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

Я на самом деле предпочитаю это таким образом, потому что я знаю, что мои BEGINсовпадения с ENDэтим способом.


1

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

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


Это действительно поможет мне. Спасибо
Теотонио
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.