База данных - как создавать регионы в TSQL (SQL Server 2008) - PullRequest
12 голосов
/ 15 августа 2011

Есть ли способ создать сворачиваемые области в файле сценария SQL, как мы создаем в VS, используя #region ..... #endregion?

- EDIT -

Файл сценария содержит операторы DDL, такие как AlterПросмотр таблиц и изменений и т. Д., И я хочу сгруппировать их по регионам, таким как «Операции с таблицами» и «Просмотр связанных с ними операторов» и т. Д.

Ответы [ 4 ]

16 голосов
/ 15 августа 2011

Нет, но вы можете смоделировать его в SSMS, используя begin..end блоки следующим образом:

--Region 1
begin
  --Do Something
end

--Region 2
begin 
  --Do Something Else
end

Пара begin..end является разборной.

РЕДАКТИРОВАТЬ:

Это работает только для сценариев DML.Сценарии DDL более требовательны, так как многие операторы должны быть первыми в пакете (в первоначальном вопросе не указывалось использование DDL.)

Я не думаю, что есть способ сделать это в одном файле сценария для DDL -Вы разбиваете скрипт на более мелкие скрипты или хранимые процедуры.

8 голосов
/ 15 августа 2011

Да, с Пакетом инструментов SSMS

Области и разделы отладки

Области работают так же, как в Visual Studio,Вы можете свернуть их и расширить их.Разделы отладки - это разделы, которые комментируются, когда вы изменяете свой сценарий на конфигурацию выпуска.Раздел отладки также является сворачиваемой областью.Если вы развернете сценарий в режиме отладки с добавленными разделами отладки, он не будет работать при запуске из SSMS без установленного пакета инструментов SSMS.Вы, конечно, можете сами комментировать эти разделы, просто выполняя поиск начального и конечного текста разделов отладки

4 голосов
/ 25 марта 2014

Я добавил поддержку регионов в мою надстройку SSMSBoost (начиная с версии 2.12)

Синтаксис:

--#region [OptionalName]

--#endregion
2 голосов
/ 22 мая 2013

чтобы ответить на ошибку «Alter должен быть единственным оператором в пакете», вы можете «разделить» ваши начальные и конечные партии командой GO, чтобы избежать этого сообщения, например:

begin 
--do something
end
GO

begin
--do something else
end
GO

и пр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...