Nom de la table comme variable

J'essaye d'exécuter cette requête: declare @tablename varchar(50) set @tablename = 'test' select * from @tablename Cela produit l'erreur suivante: Msg 1087, niveau 16, état 1, ligne 5 Doit déclarer la variable de table "@tablename". Quelle est la bonne façon d'avoir un nom de table rempli...