My primary concern is with SQL Server 2005… I went through many website and each tells something different.
What are the scenarios that are good / ok to use.. For example does it hurts to even set variable values inside IF or only if I run a query. Supposing my SPs is building a dynamic SQL based of several conditions in Input Parameters, do I need to rethink about the query… What about a SP that runs different query based on whether some record exists in the table. etc.. etc.. My question is not just limited to these scenarios… I’m looking for a little more generalised answer so that I can improve my future SPs
In essense… Which statements are good to use in Branching conditions / Loops, which is bad and which is Okay.
Generally… Avoid procedural code in your database, and stick to queries. That gives the Query Optimizer the chance to do its job much better.
The exceptions would be code that is designed to do many things, rather than making a result-set, and when a query would need to join rows exponentially to get a result.