复杂存储过程中的SQL Server临时表

时间:2010-07-27 22:17:11

标签: sql-server-2005 temp-tables

我必须从变量或存储过程

创建临时表(#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

2 个答案:

答案 0 :(得分:1)

在你的问题中并不完全是你所要求的,但这可能是你做任何事情的一种方式:

CREATE TABLE #temp (
ID INTEGER
)

DECLARE @Sql NVARCHAR(100)
SET @Sql = 'INSERT INTO #temp VALUES (5)'

EXEC(@Sql)

SELECT * FROM #temp

答案 1 :(得分:0)

#temp更改为##temp,您就可以