Как убрать разрывы строк в SSMS?

22

Я имею дело с SQL, который выглядит следующим образом

create procedure


as


begin

Обратите внимание на большие промежутки, например, между asи begin.

Как я могу удалить это? Я использовал форматтер SQL, но это не работает.

Ананд
источник

Ответы:

22

В SQL Server Management Studio (SSMS) есть команда для удаления пустых строк , хотя она по умолчанию недоступна для меню, значка панели инструментов или сочетания клавиш.

Если вам нужно делать это регулярно, отредактируйте меню, панели инструментов или ярлыки, чтобы добавить эту команду. Например, чтобы добавить эту команду в меню «Правка / Дополнительно»:

В меню «Инструменты» выберите «Настроить»:

Окно меню инструментов

В появившемся окне перейдите на вкладку «Команды», а затем в раскрывающемся списке «Строка меню» выберите « Редактировать | Дополнительно :

Настроить окно

Затем нажмите Добавить команду

Добавить выбор команды

Теперь выберите категорию « Редактировать » и прокрутите список « Команды», чтобы выбрать « Удалить пустые строки» :

Окно Добавить команду

Как только это будет сделано, убрать пустые строки будут отображаться в меню Edit / Advanced. В показанных выше диалоговых окнах «Адаптация» есть и другие параметры для размещения команды в меню, добавления сочетания клавиш или добавления значка для нее на панель инструментов.

Роб Фарли
источник
3
Фактически, если вы исследуете, какие команды там есть, вы можете создать ярлыки для всех видов опций редактирования. Это заставляет меня задуматься о том, можно ли почти создать кучу настроек, чтобы окно редактора SQL велось как vi или emacs ...
Роб Фарли,
19

Вы можете сделать это с помощью команды find и replace, но имейте в виду, что если у вас есть строковые литералы со встроенными переносами строк, они тоже будут изменены.

Следующее находит все случаи последовательных разрывов строк и заменяет их одним.

  1. Ctrl+ Hоткрыть диалог поиска и замены
  2. Найти то, что: \n+
  3. Заменить \n
  4. ТИК Use -> Regular Expressions
  5. Нажмите Заменить / Заменить все
  6. Снимите галочку, Use -> Regular Expressionsчтобы не запутать результаты при следующем использовании этого диалога.

введите описание изображения здесь

Мартин Смит
источник
1

Вы можете сделать это используя регулярное выражение в SSMS:

  1. Ctrl-H, чтобы открыть окно поиска и замены
  2. Выберите ИСПОЛЬЗОВАТЬ -> Регулярные выражения
  3. Поместите ^ \ n в Найти что
  4. Сохранить заменить пустым
  5. Нажмите Заменить (Все)
Нилеш Умаретия
источник
0

Новая строка часто состоит из символов \ r \ n, поэтому в ответе Мартина попытайтесь заменить подпункт 2. Найти что: (\ r \ n) + 3. Заменить на: \ r \ n или лучше в ответе Нилеша. попробуйте заменить подпункт 3. Положите ^ (\ r \ n) + Это минимизирует количество вхождений изменений

Конрад Ясиски
источник