Formateur T-SQL
Formatez T-SQL pour SQL Server et Azure SQL avec des règles pour les identifiants entre [crochets], les chaînes N'' Unicode, les tables #temp, @variables et les séparateurs de lots GO. CROSS APPLY et OUTER APPLY commencent sur de nouvelles lignes ; OUTPUT et FOR JSON restent des clauses, et BEGIN TRANSACTION n’ouvre jamais un bloc par erreur. Les chaînes et parenthèses non fermées sont signalées avec leur ligne et leur colonne, à l’intention des développeurs de bases de données.
Foire aux questions
Quelle syntaxe T-SQL est prise en charge ?
Les identifiants entre [crochets] avec les échappements ]] ou entre guillemets doubles, les chaînes N'' Unicode, les tables temporaires #temp et ##global, @variables ainsi que les fonctions système @@ sont reconnus. Les appels de méthodes statiques comme geography::Point restent également intacts.
Comment les séparateurs de lots GO sont-ils traités ?
Une ligne contenant uniquement GO, éventuellement suivi d’un nombre de répétitions comme GO 5, termine un lot. Elle reste sur sa propre ligne et chaque lot est formaté séparément.
Quelles clauses T-SQL sont prises en charge ?
CROSS APPLY et OUTER APPLY commencent sur de nouvelles lignes, comme les jointures. OUTPUT, OPTION, FOR XML et FOR JSON restent sur leurs propres lignes, comme les clauses standard.
Peut-il formater des procédures stockées ?
Oui. Les blocs BEGIN et END, BEGIN TRY et BEGIN CATCH, IF et ELSE, ainsi que les boucles WHILE sont indentés. BEGIN TRANSACTION et BEGIN TRAN sont traités comme des instructions, et non comme le début d’un bloc.
Prend-il en charge MERGE ?
Oui. Les branches WHEN MATCHED, WHEN NOT MATCHED BY TARGET et WHEN NOT MATCHED BY SOURCE commencent sur de nouvelles lignes.
Les commentaires sont-ils conservés ?
Oui. Les commentaires de ligne -- et les commentaires de bloc /* */ restent en place. Les commentaires de bloc multilignes sont réindentés selon leur nouvelle position.
La casse des mots-clés est-elle modifiée ?
Non. Les mots-clés et les identifiants conservent la casse utilisée. Seuls les espaces et les sauts de ligne changent.
Quelles erreurs sont détectées ?
Les chaînes, identifiants entre crochets ou entre guillemets et commentaires de bloc non fermés, ainsi que les parenthèses déséquilibrées, sont signalés avec leur ligne et leur colonne. L’outil ne se connecte pas à SQL Server et ne valide pas les noms d’objets.
Quelle est la taille maximale de l’entrée ?
Jusqu’à 1 MB par requête et 128 KB par instruction ou lot. Les instructions sont séparées par des lignes vides.
Puis-je choisir l’indentation, et mon SQL est-il enregistré ?
Vous pouvez utiliser 2 ou 4 espaces, ou des tabulations. Votre script est formaté uniquement en mémoire et n’est jamais enregistré.