I just switched groups and what they currently do is have their middle tier pass XML to the procedures and then use xquery/xpath to parse the xml and use it to get information and return it back to the app (RETURN XML). I was just curious if others use a similar process or if they just pass the data directly into the procedures. I really like how flexible it is, but it really makes the procedures ugly because you have to parse the XML, query your data, and format the data into xml (formatting is trivial with SQL 2008).
My main concern is with performance. I have to parse the xml and put it into tmp tables or table variables so that I can use it in my queries.
Any thoughts?