Hi all, read a lot, post rarely. Anyway, try to keep this simple as possible - I have a database of items stored within nested categories using a pivot table to establish parent/childs for the categories (the can virtually nest indefinitely, one child cat can be under multiple parents, etc). There are roughly 30,000 items within 3,000 categories. There are a handful of top level categories. One of the top level categories gets published to an external site regularly, while the others don't. I use a bit flag on the items to determine which items get published and which don't, so that only the items we want published get transferred.
Currently I use a nested CF custom tag to set the publish flags - I feed it a top level categoryID, it sets Publish=1 on the items in that category, then calls itself in a loop with all of the CategoryID where the ParentCatID=CategoryID. Something like this: (cf_pushlishtree custom tag): <cfquery> Update item SET Publish=1 WHERE CategoryID=CurrentCat </cfquery> <cfquery name="getsubcats"> Select CategoryID FROM CatPivot WHERE ParentCatID=CurrentCat </cfquery> <cfloop query="getsubcats"> <cf_publishtree CurrentCat="#CurrentCat#"> </cfloop> ...It works fine but is slow and will timeout before it finishes, and I can't restart it where it leaves off. I would think this could be done right in MS SQL by having a nested function or stored procedure that can do the update and then loop itself from the select, but I can't figure out how - I don't think an UPDATE is allowed in a function, and a stored procedure can't be called from a select statement. I considered adding a "TopCategoryID" to the item or category table as it would make publishing very simple, but we can't as categories can exist anywhere in the category structure, often under multiple parents simultaneously. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:341608 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm