在 Dynamic SQL 中使用来自 Temp table 的值

Using values from Temp table in Dynamic SQL

我有一个临时文件 table,其中的记录很少。我需要将它们包含在我的动态中 SQL.I 我正在尝试做这样的事情

SET @SQL=@SQL + 'Select '+ @fields + ' ID from dbo.EmployeePension()' 
SET @SQL = @SQL + ' WHERE EmployeeID IN'
SET @SQL= @SQL + '(Select EmployeeID from' + #temp4 + ')'
EXEC @SQL

#temp4 是我的临时 table。 我实际上是从一个单独的 table 中提取 @fields,然后从函数中检索相同的列。

有人可以帮助我了解如何在动态 SQL 中包含临时 table 值。 我期待动态 SQL 喜欢

Select 姓名、年龄、性别来自 dbo.EmployeePension() 其中 EmployeeID IN(Select EmployeeID in (100,101,102));

其中 (100,101,102) 是临时 table 中的值,姓名、年龄、性别是@fields 中的值。

SET @SQL = @SQL + 'Select '+ @fields + ' ID from dbo.EmployeePension()' 
SET @SQL = @SQL + ' WHERE EmployeeID IN'
SET @SQL = @SQL + '(Select EmployeeID from #temp4)'
EXEC ( @SQL )