Trying to do all this dynamically is going to be a bear. Can you break apart the USE statement and the ALTER statement?
"The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
- Theodore Roosevelt
Author of:
SQL Server Execution Plans
SQL Server Query Performance Tuning