Um den SELECT-Teile eines SQL-Statements aus Variablen zur Laufzeit zu bauen, benötigst du den Befehl EXECUTE wie im folgendem Beispiel, welcher einen String-Befehl ausführt ohne vorher die Syntax zu überprüfen.
CREATE PROCEDURE sp\_test(@tablename nvarchar(50)) AS
EXECUTE ('SELECT \* FROM ' + @tablename)
MfG, Stefan.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]