-what do you call "set oriented solutions"
-how could you solve this without cursors?
-our data has this structure for example
CONTRACT |partner1|------|partner2|
| |
MARKET | buy |------| sell |
| |
ANSWER FROM MARKET |answ2buy|------|answ2sel|
/ | | 2other account-|duty| | | |duty|--to other account
FINANCE | minus |------| plus |

vertical link means "was generated by(upper)"
horizontal link means "against"

It's nor tree, it's graph and what about when you want know by what contract was generated move on financial account. Or you may to make up more situations.

>I have only once had to implement a cursor and that was because no one at the company could understand the set oriented solution well enough to maintain it. I have though removed a lot of unneeded cursors from systems. I now never allow developers to implement cursors.

>I also steer away from views as they tend to have performance problems and all database access is via stored procedures anyway.

>Most of these problems seem to be more design based than anything else.
Try looking at your requirements and thinking about how to inplement them rather than trying to salvage unworkable solutions.