You may want to check out Joe Celco's nested set model (no refs but google should find it) for a neat way to handle this type of hierarchical information storage. In the meantime you could keep the cursor but insert the resulting recordsets into a working table before returning the complete resultset. You would create the working table if @depth = 1 (set a local variable and pass it to subsequent calls and drop it after the last call) or permanently create it which would give you better performance and the ability to use indexes.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:201383 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54