{"id":725,"date":"2007-09-26T18:59:06","date_gmt":"2007-09-26T16:59:06","guid":{"rendered":"http:\/\/www.glorf.it\/blog\/2007\/09\/26\/sql-talk\/sql-tools\/sql-code-beautified"},"modified":"2007-09-27T19:56:57","modified_gmt":"2007-09-27T17:56:57","slug":"sql-code-beautified","status":"publish","type":"post","link":"http:\/\/www.glorf.it\/blog\/2007\/09\/26\/sql-talk\/sql-tools\/sql-code-beautified","title":{"rendered":"SQL-Code beautified"},"content":{"rendered":"<p>Heute schickte mir ein Kollege eine ganze Reihe von SQL-Statements und bat um Unterst&#252;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&#246;tigte.<\/p>\n<p>Nun bin ich schon so lange im Gesch&#228;ft, dass ich mich noch gut daran erinnere, dass es fr&#252;her mal C-Programmierer gab, die ihren ganzen Ehrgeiz darein legten m&#246;glichst den ganzen Algorithmus in eine Zeile C-Code zu packen. Aber auch damals geh&#246;rte ich schon zu denjenigen, die so einen Code nicht lesen konnten. Also machte ich mich heute daran die Befehle zu verh&#252;bschen (Zeileneinsch&#252;be, Tabs einf&#252;gen, &#8230;). Das hielt ich immerhin 4 Statements lang durch (danach ben&#246;tigten die Befehle meist 20-25 Zeilen). Es lohnte sich immerhin, weil mir danach sofort ein paar Ungereimtheiten auffielen, aber spa&#223;ig war das nicht.<\/p>\n<p>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&#252;hrt wird. Es wird also kein Code an einen Server geschickt. Ich pers&#246;nlich finde das Ergebnis prima &#8211; kein Vergleich zu dem Spaghetti-Code&#8230;<\/p>\n<p>Hier ist er: <a href=\"http:\/\/www.sqlinform.com\/\">SQL Formatter<\/a><\/p>\n<p>Das JAR-File kann man auch downloaden und lokal nutzen. Das habe ich aber noch nicht ausprobiert. Ein API ist in Vorbereitung.<\/p>\n<p>Eine andere Alternative findet man unter <a href=\"http:\/\/www.wangz.net\/cgi-bin\/pp\/gsqlparser\/sqlpp\/sqlformat.tpl\">SQL-Parser<\/a> (ebenfalls online und als Desktop-Version, lezeres ebenfalls nicht von mir ausprobiert). <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Heute schickte mir ein Kollege eine ganze Reihe von SQL-Statements und bat um Unterst&#252;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&#246;tigte. Nun bin ich schon so lange im Gesch&#228;ft, dass ich mich noch gut daran erinnere, dass es [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[14],"tags":[],"_links":{"self":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts\/725"}],"collection":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/comments?post=725"}],"version-history":[{"count":0,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts\/725\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/media?parent=725"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/categories?post=725"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/tags?post=725"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}