ठीक है, सबसे पहले आपने अपनी स्ट्रिंग से '+' छोड़ दिया है। काम करने का यह तरीका आदर्श से बहुत दूर है, लेकिन आप ऐसा कर सकते हैं
DECLARE @SQL varchar(250)
SELECT @SQL = 'SELECT * FROM ' + QuoteName(@Alias)
Exec(@SQL)
हालांकि, मैं दृढ़ता से पुनर्विचार करने का सुझाव दूंगा कि आप यह कैसे करते हैं। डायनेमिक SQL उत्पन्न करने से अक्सर SQL इंजेक्शन कमजोरियाँ होती हैं और साथ ही SQL सर्वर (और अन्य DB) के लिए आपकी क्वेरी को संसाधित करने का सबसे अच्छा तरीका काम करना कठिन हो जाता है। यदि आपके पास एक संग्रहीत प्रक्रिया है जो किसी भी तालिका को वापस कर सकती है, तो आपको वास्तव में संग्रहीत प्रक्रिया होने से वास्तव में कोई लाभ नहीं मिल रहा है क्योंकि यह अनुकूलन के तरीके में बहुत कुछ करने में सक्षम नहीं होगा, और आप कर रहे हैं सुरक्षा लाभों को भी काफी हद तक क्षीण कर रहा है।