仕事柄,SQLを扱うことがよくある.SQLを読むときは,自分の見やすいように整形(改行,字下げ)してから読むのだが,長いSQLだと手作業で整形するのは疲れる.

そういう必要性に迫られて,SQLを整形するスクリプト(Perl)を書いてみた.SQLの整形ツール

SQLの整形って,結構好みが細かく分かれるような気がするので,やはり自分で好きなように整形できるものを自作するのが一番だ. 例えば,SELECT句の列リストでカンマが前に来るか後に来るかだけでも,大きく違う.

入力

select a, b from t;

俺の好む整形

SELECT
	a,
	b
FROM
	t;

好まない整形

SELECT
	a
	,b
FROM
	t;

一応,これを使ってSQL整形を実行できるデモページも作った.

デモページとは言っているが,実際には自分が出先からでも使えるようにしたかったというのが,真相らしい.(本人談)

・今後の課題

(1) SELECT DISTINCTが
SELECT
	DISTINCT
になるのを何とかしたい.

(2) SELECT 〜 FOR UPDATE OFが
SELECT
	〜 FOR
UPDATE
	OF
になるのを何とかしたい.


© 2024 KMIソフトウェア