Nou, ten eerste heb je de '+' weggelaten uit je string. Deze manier van doen is verre van ideaal, maar je kunt het wel
DECLARE @SQL varchar(250)
SELECT @SQL = 'SELECT * FROM ' + QuoteName(@Alias)
Exec(@SQL)
Ik zou echter sterk aanbevelen om te heroverwegen hoe je dit doet. Het genereren van dynamische SQL leidt vaak tot kwetsbaarheden voor SQL-injectie en maakt het ook moeilijker voor SQL Server (en andere DB's) om de beste manier te vinden om uw vraag te verwerken. Als je een opgeslagen procedure hebt die elke tabel kan retourneren, heb je er in de eerste plaats praktisch geen baat bij dat het een opgeslagen procedure is, omdat het niet veel kan doen aan optimalisaties, en je bent grotendeels ook de beveiligingsvoordelen ontkrachten.