【问题标题】:SQL Server Temporary Table from Complex Stored Procedure来自复杂存储过程的 SQL Server 临时表
【发布时间】:2011-03-21 21:07:15
【问题描述】:

我必须从变量或存储过程创建一个临时表 (#temp)

(即)

我的存储过程包含

......

set @sql='select ...'
set @sql=@sql+'..join..'
set @sql=@sql+'....join..'

当我执行它时(即)exec (@sql) 它返回一些行,我想存储这些行 在临时表中。如何实现?

我试过类似的东西

select
       id,name,ward_no into,........ 
#temp

from
   ( 
     exec (@sql)
   )derived

更新

我找到了逻辑

(即)

create table #temp(....)

insert #temp exec(@sql) 

select * from #temp

【问题讨论】:

    标签: sql-server-2005 temp-tables


    【解决方案1】:

    #temp 更改为##temp,您就可以这样做了

    【讨论】:

      【解决方案2】:

      不完全是您在问题中所要求的,但这可能是您追求的一种方式:

      CREATE TABLE #temp (
      ID INTEGER
      )
      
      DECLARE @Sql NVARCHAR(100)
      SET @Sql = 'INSERT INTO #temp VALUES (5)'
      
      EXEC(@Sql)
      
      SELECT * FROM #temp
      

      【讨论】:

        猜你喜欢
        • 2015-11-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-05
        相关资源
        最近更新 更多