【问题标题】:Using values from Temp table in Dynamic SQL在动态 SQL 中使用 Temp 表中的值
【发布时间】:2016-10-14 02:52:35
【问题描述】:

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

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 是我的临时表。 我实际上是从一个单独的表中提取@fields,然后从函数中检索相同的列。

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

这样的动态SQL

Select name,age,sex from dbo.EmployeePension() where EmployeeID IN(Select EmployeeID in (100,101,102));

其中 (100,101,102) 是临时表中的值,name,age,sex 是 @fields 中的值。

【问题讨论】:

    标签: sql-server dynamic-sql


    【解决方案1】:
    SET @SQL = @SQL + 'Select '+ @fields + ' ID from dbo.EmployeePension()' 
    SET @SQL = @SQL + ' WHERE EmployeeID IN'
    SET @SQL = @SQL + '(Select EmployeeID from #temp4)'
    EXEC ( @SQL )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多