Heute schickte mir ein Kollege eine ganze Reihe von SQL-Statements und bat um Unterstützung. Dabei handelte es sich um vergleichsweise komplizierten Code mit mehreren Joins, derived-Tables usw. Besonders interessant war, dass er pro SQL-Statement genau eine Zeile benötigte.
Nun bin ich schon so lange im Geschäft, dass ich mich noch gut daran erinnere, dass es früher mal C-Programmierer gab, die ihren ganzen Ehrgeiz darein legten möglichst den ganzen Algorithmus in eine Zeile C-Code zu packen. Aber auch damals gehörte ich schon zu denjenigen, die so einen Code nicht lesen konnten. Also machte ich mich heute daran die Befehle zu verhübschen (Zeileneinschübe, Tabs einfügen, …). Das hielt ich immerhin 4 Statements lang durch (danach benötigten die Befehle meist 20-25 Zeilen). Es lohnte sich immerhin, weil mir danach sofort ein paar Ungereimtheiten auffielen, aber spaßig war das nicht.
Deswegen fand ich nach kurzer Suche einen Online-Dienst, der einem dabei hilft. Es handelt sich um ein Java-Applet, dass komplett am Browser ausgeführt wird. Es wird also kein Code an einen Server geschickt. Ich persönlich finde das Ergebnis prima – kein Vergleich zu dem Spaghetti-Code…
Hier ist er: SQL Formatter
Das JAR-File kann man auch downloaden und lokal nutzen. Das habe ich aber noch nicht ausprobiert. Ein API ist in Vorbereitung.
Eine andere Alternative findet man unter SQL-Parser (ebenfalls online und als Desktop-Version, lezeres ebenfalls nicht von mir ausprobiert).