I\'ll go first.
I\'m 100% in the set-operations camp. But what happens when the set logic on the entire desired input domain leads to a such a large retrieval that
There are lots of different cursor behaviors.
You should never use a cursor unless you can explain all of these options and which ones are on by default.
And so, I never do.
Instead, when I feel the urge to loop over something in T-SQL... I load it into a variable table, which is something like a LOCAL STATIC SCROLL cursor... except that it can be indexed and joined (edit: and the downside of preventing the use of parallelism).