Форматиращ инструмент за T-SQL
Форматирайте T-SQL за SQL Server и Azure SQL с правила за идентификатори в [скоби], низове Unicode в стил N'', временни таблици #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 започват на нови редове като съединенията. 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 започват на нови редове.
Запазват ли се коментарите?
Да. Коментарите на ред с -- и блоковите коментари с /* */ остават на мястото си. Многоредовите блокови коментари получават нов отстъп според позицията си.
Променя ли се регистърът на ключовите думи?
Не. Ключовите думи и идентификаторите запазват регистъра, който сте въвели. Променят се само интервалите и новите редове.
Какви грешки се откриват?
Незатворени низове, идентификатори в скоби или кавички и блокови коментари, както и несъответстващи скоби — всеки проблем се посочва с ред и колона. Инструментът не се свързва със SQL Server и не валидира имената на обекти.
Какъв е максималният размер на входните данни?
До 1 MB на заявка и 128 KB на оператор или партида. Операторите се разделят с празни редове.
Мога ли да избера отстъпа и съхранява ли се моят SQL?
Можете да използвате 2 или 4 интервала или табулатори. Скриптът се форматира само в паметта и никога не се записва.