• Greg, thank you for article.

    Could you please refrain from providing SELECT * FROM table example - it's a proverbial ticking "time bomb".

    Changes in table schema like creating new or dropping existing column could trigger a chain reaction of bug further down stream in middle-tier and/or on UI. My favorite anti-pattern - combining SELECT * with querying system views EVERY time somebody try to retrieve data. in this scenario even renaming a column could be a potential problem.