# T-SQLフォーマッター

SQLをSQL ServerおよびAzure SQL向けに整形します。[bracket]形式の識別子、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のように繰り返し回数が付いていても、バッチの終わりとして扱われます。GOは独立した行に保持され、各バッチは個別に整形されます。

### どの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の各分岐は改行します。

### コメントは保持されますか？

はい。--行コメントと/*ブロックコメント*/は位置を保ちます。複数行のブロックコメントは、新しい位置に合わせてインデントし直します。

### キーワードの大文字と小文字は変わりますか？

いいえ。キーワードと識別子の大文字・小文字は入力時のまま保持されます。変更されるのは空白と改行だけです。

### どのようなエラーが検出されますか？

閉じていない文字列、角括弧または引用符で囲まれた識別子、ブロックコメント、対応していない括弧を、それぞれ行と列を示して報告します。このツールはSQL Serverに接続せず、オブジェクト名も検証しません。

### 入力の最大サイズはどれくらいですか？

1リクエストあたり最大1 MB、文またはバッチあたり最大128 KBです。文は空行で区切られます。

### インデントを選べますか？また、SQLは保存されますか？

スペース2つ、スペース4つ、またはタブを使用できます。スクリプトはメモリ上でのみ整形され、保存されることはありません。

ここに広告を掲載しませんか？

[メールでお問い合わせ](mailto:hi@dennn.is?subject=OneClick%20Pro%E3%81%A7%E3%81%AE%E5%BA%83%E5%91%8A%E6%8E%B2%E8%BC%89)

[広告 WordPress向けのエージェント対応プラグインスイート。](https://sleekwp.com/?ref=oneclickpro)
