Db2フォーマッター
Db2のルールに従って、LUWおよびz/OS向けのIBM Db2SQLを整形します。X''、G''、N''リテラル、二重引用符で囲まれた識別子、#、@、$を含む名前に対応しています。FETCH FIRST n ROWS ONLYは独立した行に配置され、WITH URなどの分離レベル句はクエリと同じ行に残り、MERGEの分岐は新しい行から始まります。データベース開発者やDBA向けに、閉じていない文字列や括弧を行番号と列番号とともに報告します。
よくある質問
どのDb2構文に対応していますか?
シングルクォートを重ねてエスケープした文字列、16進数のX''、グラフィック文字列のG''、各国語文字列のN''リテラル、およびGX''、UX''、BX''形式の文字列が認識されます。二重引用符で囲まれた識別子や、#、@、$を含む通常の名前はそのまま保持されます。
FETCH FIRSTはどのように扱われますか?
FETCHはLIMITと同様に独立した行から始まります。FIRST 10 ROWS ONLYのような句の残りの部分は、次の行にまとめて配置されます。
WITH URなどの分離レベル句はどうなりますか?
WITH UR、WITH CS、WITH RS、WITH RRは、直前の句と同じ行に残ります。WITH共通テーブル式と誤認されることはありません。
MERGE に対応していますか?
はい。WHEN MATCHED THENとWHEN NOT MATCHED THENの分岐は、新しい行から始まります。
SQL PLプロシージャを整形できますか?
はい。IF、CASE、LOOP構文を含むBEGINとENDのブロックはインデントされ、その中のステートメントはそれぞれ独立した行に配置されます。
コメントは保持されますか?
はい。--の行コメントと/*ブロックコメント*/はそのまま保持されます。複数行のブロックコメントは、新しいレイアウトに合わせて再インデントされます。
キーワードの大文字と小文字は変わりますか?
いいえ。キーワードと名前は入力時の大文字・小文字を保持します。引用符で囲まれていないDb2の名前はデータベースによって大文字に変換されるため、大文字と小文字が混在していても問題ありません。
どのようなエラーが検出されますか?
閉じていない文字列、引用符で囲まれた識別子やブロックコメント、および対応していない括弧を、それぞれ行番号と列番号とともに報告します。データベースに送信されることはありません。
入力の最大サイズはどれくらいですか?
1リクエストあたり最大1 MB、ステートメントあたり128 KBです。長いスクリプトは1ステートメントずつ整形されます。
インデントを選べますか?また、SQLは保存されますか?
スペース2個または4個、あるいはタブを使用できます。SQLはメモリ上でのみフォーマットされ、保存されません。