I have a big rant I add to….well, to every single SQL session I give. That rant is on formatting code. You see, (I say,) you can’t even begin to understand or optimize a query if it’s not formatted…and by “formattted”, I mean breaking out query clauses onto different lines, indenting column lists, etc etc.
Along with this speech, I normally give out a few resources for easier code formatting – after all, no one wants to go through every stored procedure, view, and trigger and format it by hand. In order of preference (most favorite down), here are those tools:
- Red-gate’s SQL Prompt - CTRL-K-Y formats all the code in your query window in a single go, as long as it’s parsable (no syntax errors). I cannot recommend this tool enough. It’s beautiful.
- Poor SQL Parser – This free online utility lets you copy-paste your code into and out of a window and format it. I haven’t yet downloaded the free version, but I’ll update you here when I do. Thanks to Brent Ozar for the link Friday (and thereby for the blog post inspiration)!
- SSMS ToolsPack – This won’t format the code (in its current version), but it changes all keywords to uppercase (e.g., select to SELECT). This is handier than you’d think.
- MS Word Macro – You can grow your own copy-and-paste-and-format utility with MS Word utilities, or you can use the SQL formatting macro code I supplied for you here.
Happy days,
Jen McCown
http://www.MidnightDBA.com/Jen



Subscribe to this blog
Briefcase
Print
Posted by Yitzchok Lavi on 13 September 2011
There is also SQL Pretty Printer - http://www.dpriver.com/
Posted by gregocon.nell on 17 September 2011
Yep, have to say that I love SSMS Tools Pack (mainly because it's free). If you set up Snippets correctly, it can format in your particular style as you go. For example, I've set it up such that keying in "sfwgo" gives me
SELECT
FROM
WHERE
GROUP BY
ORDER BY
all laid out just the way I like it.
Posted by e-ghetto on 21 September 2011
Don't forget www.devart.com/.../sqlcomplete