# Форматировщик T-SQL

Форматируйте T-SQL для SQL Server и Azure SQL с учетом правил для идентификаторов в [квадратных скобках], строк N'' Unicode, таблиц #temp, @variables и разделителей пакетов GO. CROSS APPLY и OUTER APPLY начинаются с новых строк, OUTPUT и FOR JSON остаются отдельными предложениями, а BEGIN TRANSACTION никогда ошибочно не открывает блок. Незакрытые строки и скобки отмечаются с указанием строки и столбца, что помогает разработчикам баз данных.

## Часто задаваемые вопросы

### Какой синтаксис T-SQL распознается?

Распознаются идентификаторы в [квадратных скобках] с экранированием через ]] или в двойных кавычках, строки N'' Unicode, временные таблицы #temp и ##global, @variables и системные функции @@. Статические вызовы методов, например geography::Point, тоже остаются без изменений.

### Как обрабатываются разделители пакетов GO?

Строка, содержащая только GO, при желании с числом повторов, например GO 5, завершает пакет. Она остается на отдельной строке, и каждый пакет форматируется отдельно.

### Какие предложения T-SQL поддерживаются?

CROSS APPLY и OUTER APPLY, как и JOIN, начинаются с новых строк. OUTPUT, OPTION, FOR XML и FOR JSON остаются отдельными предложениями наряду со стандартными.

### Можно ли форматировать хранимые процедуры?

Да. Блоки BEGIN и END, BEGIN TRY и BEGIN CATCH, IF и ELSE, а также циклы WHILE получают отступы. BEGIN TRANSACTION и BEGIN TRAN считаются операторами, а не началом блока.

### Поддерживается ли MERGE?

Да. Ветви WHEN MATCHED, WHEN NOT MATCHED BY TARGET и WHEN NOT MATCHED BY SOURCE начинаются с новых строк.

### Сохраняются ли комментарии?

Да. Комментарии строк -- и блочные комментарии /* block comments */ остаются на месте. Многострочные блочные комментарии получают новые отступы в соответствии с их расположением.

### Меняется ли регистр ключевых слов?

Нет. Регистр ключевых слов и идентификаторов сохраняется. Меняются только пробелы и разрывы строк.

### Какие ошибки обнаруживаются?

Незакрытые строки, идентификаторы в скобках или кавычках и блочные комментарии, а также несбалансированные круглые скобки — для каждого указываются строка и столбец. Инструмент не подключается к SQL Server и не проверяет имена объектов.

### Каков максимальный размер входных данных?

До 1 MB на запрос и 128 KB на оператор или пакет. Операторы разделяются пустыми строками.

### Можно ли выбрать отступы и сохраняется ли мой SQL?

Можно использовать 2 или 4 пробела либо табуляцию. Скрипт форматируется только в памяти и никогда не сохраняется.

Ваша реклама здесь?

[Напишите нам по электронной почте](mailto:hi@dennn.is?subject=%D0%A0%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0%20%D0%BD%D0%B0%20OneClick%20Pro)

[Реклама Набор плагинов для работы агентов с WordPress.](https://sleekwp.com/?ref=oneclickpro)
