Falscher Syntaxerrors bei select-statement aus SQL server mit Tabellenvariablen

Ich habe eine gespeicherte Prozedur, wo ich eine Tabellenvariable erstellen und dann versuchen, eine select gegen diese Tabellenvariable auszuführen, aber die Ausgabe wirft einen falschen Syntaxerrors aus.

Ich habe meine gespeicherte Prozedur (vereinfacht) unten:

 CREATE PROCEDURE [dbo].[spGetLog] AS SET NOCOUNT ON; Declare @Table table (ID int identity(1,1), Node varchar(100) ) insert into @Table(Node) values ('employee') Declare @sqlquery AS NVARCHAR(1000) SET @sqlquery = 'select * from @Table;' EXEC (@sqlquery) 

Gibt einen Fehler –

Falsche Syntax in der Nähe von '@Table'

In Wirklichkeit ist die @sqlquery Variable ich komplex und ich muss eine Variable verwenden und die Abfrage ausführen.

Gibt es eine Art, wie ich meine gespeicherte Prozedur noch mit einer variables ausführen kann? Alle anderen Vorschläge sind willkommen.

Wie David W in seinem Kommentar erwähnt hat, benutze einfach einen Temp-Tisch (keine Tabellenvariable), wenn du etwas willst, das in deinem EXEC-Bereich sichtbar ist:

 CREATE TABLE #Table (ID int identity(1,1), Node varchar(100) ) insert into #Table(Node) values ('employee') Declare @sqlquery AS NVARCHAR(1000) SET @sqlquery = 'select * from #Table;' EXEC (@sqlquery) DROP TABLE #Table;