• The correct use for dynamic SQL is Option 1: DON'T, especially if you're a noob.

    If you understand the repercussions of code that can't be optimized, and SQL injection attacks, etc, then knock yourself out.

    It's perfectly okay to have a lot of stored procedures in your database, because those can be optimized.