Formátovač T-SQL
Formátujte T-SQL pro SQL Server a Azure SQL podle pravidel pro identifikátory v [hranatých závorkách], řetězce Unicode N'', dočasné tabulky #temp, @variables a oddělovače dávek GO. CROSS APPLY a OUTER APPLY začínají na nových řádcích, OUTPUT a FOR JSON zůstávají jako klauzule a BEGIN TRANSACTION omylem nikdy neotevírá blok. Neuzavřené řetězce a závorky se hlásí spolu s číslem řádku a sloupce. Nástroj je určen vývojářům databází.
Často kladené otázky
Jaká syntaxe T-SQL je rozpoznávána?
Rozpoznávají se identifikátory v [hranatých závorkách] s escapováním pomocí ]] nebo v dvojitých uvozovkách, řetězce N'' Unicode, dočasné tabulky #temp a ##global, @variables a systémové funkce @@. Volání statických metod, například geography::Point, zůstávají nedotčená.
Jak se zpracovávají oddělovače dávek GO?
Řádek obsahující pouze GO, případně s počtem opakování, například GO 5, ukončuje dávku. Zůstává na samostatném řádku a každá dávka se formátuje zvlášť.
Které klauzule T-SQL jsou podporovány?
CROSS APPLY a OUTER APPLY začínají na nových řádcích stejně jako JOIN. OUTPUT, OPTION, FOR XML a FOR JSON zůstávají samostatnými klauzulemi vedle standardních klauzulí.
Dokáže formátovat uložené procedury?
Bloky BEGIN a END, BEGIN TRY a BEGIN CATCH, IF a ELSE i smyčky WHILE se odsazují. BEGIN TRANSACTION a BEGIN TRAN se považují za příkazy, nikoli za začátek bloku.
Podporuje MERGE?
Ano. Větve WHEN MATCHED, WHEN NOT MATCHED BY TARGET a WHEN NOT MATCHED BY SOURCE začínají na nových řádcích.
Zachovávají se komentáře?
Ano. Jednořádkové komentáře -- a blokové komentáře /* */ zůstávají na místě. Víceřádkové blokové komentáře se znovu odsazují podle nové pozice.
Mění se velikost písmen klíčových slov?
Ne. Klíčová slova a identifikátory zachovávají velikost písmen, kterou jste napsali. Mění se pouze mezery a zalomení řádků.
Které chyby se zjišťují?
Neuzavřené řetězce, identifikátory v hranatých závorkách nebo uvozovkách a blokové komentáře i nevyvážené závorky, vždy s uvedením řádku a sloupce. Nástroj se nepřipojuje k SQL Serveru ani neověřuje názvy objektů.
Jak velký může být vstup?
Až 1 MB na požadavek a 128 KB na příkaz nebo dávku. Příkazy jsou oddělené prázdnými řádky.
Mohu zvolit odsazení a ukládá se můj SQL?
Můžete použít 2 nebo 4 mezery nebo tabulátory. Skript se formátuje pouze v paměti a nikdy se neukládá.